LotosLabo

プログラミング技術とか気になった情報を載せていきます

PHP言語について4

関数の宣言


新しい関数を宣言する

function page_header(){
処理
}

呼び出すには page_header();

time関数

現在時刻をUnixタイムスタンプ形式として返す


例:

<?php
  echo "現在のUnixタイムスタンプ:";
  echo time();
?>



出力

現在のUnixタイムスタンプ:1383830126




date関数


第1引数で指定したフォーマット文字列によって第2引数で指定したUnixタイムスタンプ形式の日時をフォーマットして文字列として返します。


date関数のフォーマット文字列(一部)
Y 年(4桁の数値)
m 月(2桁の数値、2桁に満たない場合は0を付ける)
d 日(2桁の数値、2桁に満たない場合は0を付ける)
H 時(2桁の数値、2桁に満たない場合は0を付ける)
i 分(2桁の数値、2桁に満たない場合は0を付ける)
s 秒(2桁の数値、2桁に満たない場合は0を付ける)
t その月の日数(28~31)
w 曜日の数値(日曜→ 0、月曜→ 1、…土曜→ 6)



例:

<?php
  $d1 = date('Y/m/d H:i:s');
  $d2 = date('Y年m月d日 H時i分s秒');
  $d3 = date('H:i:s', time() + 60);
  echo "現在時刻は $d1 です。<br>";
  echo "現在時刻は $d2 です。<br>";
  echo "現在時刻の60秒後は $d3 です。<br>";
?>


出力

現在時刻は 2013/11/07 22:13:42 です。
現在時刻は 2013年11月07日 22時13分42秒 です。
現在時刻の60秒後は 22:14:42 です。



mktime関数

引数で指定された時刻のUnixタイムスタンプを返します


例:

<?php
  $t = mktime(8, 24, 30, 6, 10, 2011);
  echo date('Y/m/d H:i:s', $t);
?>



出力

2011/06/10 08:24:30


strtotime関数

引数で指定された文字列を解釈してUnixタイムスタンプを返します


例:

<?php
  $d1 = date('Y/m/d H:i:s',
    strtotime('now'));
  $d2 = date('Y/m/d H:i:s',
    strtotime('+5 week 3 days'));
  echo "現在時刻は $d1 です。<br>";
  echo "現在時刻から5週間と3日後は $d2 です。<br>";
?>


出力:

現在時刻は 2013/11/07 22:13:42 です。
現在時刻から5週間と3日後は 2013/12/15 22:13:42 です。



htmlspecialchars関数


引数で指定した文字列のHTMLタグなどを無効にして返します。フォームから受け取った文字列を画面に出力する際は、必ずこの関数を通さないとセキュリティホールの原因となります。また、第2引数に「ENT_QUOTES」を付けたほうがより安全になります


例:

<?php
  $h = "<h1>見出し</h1>";
  echo $h;
  echo htmlspecialchars($h);
?>


出力:

見出し

見出し



file_get_contents関数, file_put_contents関数


file_get_contents関数は引数で指定したファイルを全て文字列として読み込んで返します。file_put_contents関数は第1引数で指定したファイルに第2引数で指定した文字列を書き込みます。


例:

<?php
  $count = file_get_contents('counter.txt');
  $count++;
  file_put_contents('counter.txt', $count);
  echo "あなたは{$count}番目の訪問者です。";
?>


テキストファイ

0と記載


出力:

あなたは17865番目の訪問者です。


file_exists関数


引数で指定したファイルが存在する場合はTRUE、存在しない場合はFALSEを返します。



例:

<?php
  if (file_exists('counter.txt')) {
    echo "ファイルが存在します。";
  } else {
    echo "ファイルが存在しません。";
  }
?>


出力

ファイルが存在します。



file関数


file関数は引数で指定したファイルの内容を一行ずつ配列に格納する関数です。


例:

<?php
  $lines = file('file.txt');
  for ($i = 0; $i < count($lines); $i++) {
    echo $i + 1;
    echo ":{$lines[$i]}<br>";
  }
?>


テキストファイ

うどん
そば
ラーメン
パスタ


出力

1:うどん
2:そば
3:ラーメン
4:パスタ



array_push関数, array_pop関数, array_unshift関数, array_shift関数

array_push関数は配列の末尾に要素を追加します。array_pop関数は配列の末尾から要素を取り除きます。array_unshift関数は配列の先頭に要素を追加します。array_shift関数は配列の先頭の要素を取り除きます。



例:

<?php
  $mens = array('うどん','そば','ラーメン');
  print_r($mens); echo "<br>";
  array_push($mens, 'パスタ');
  print_r($mens); echo "<br>";
  array_pop($mens);
  print_r($mens); echo "<br>";
  array_unshift($mens, 'そうめん');
  print_r($mens); echo "<br>";
  array_shift($mens);
  print_r($mens); echo "<br>";
  $mens[] = 'フォー';
  print_r($mens); echo "<br>";
?>


出力

Array ( [0] => うどん [1] => そば [2] => ラーメン )
Array ( [0] => うどん [1] => そば [2] => ラーメン [3] => パスタ )
Array ( [0] => うどん [1] => そば [2] => ラーメン )
Array ( [0] => そうめん [1] => うどん [2] => そば [3] => ラーメン )
Array ( [0] => うどん [1] => そば [2] => ラーメン )
Array ( [0] => うどん [1] => そば [2] => ラーメン [3] => フォー )