PHPで色々な所で使える便利な関数25選
「25 Essential PHP Functions - Wikiversity」と言う面白い記事を見つけたので、これを元にPHPで使える便利な関数を紹介していく。
ceil round floor
これら3つの関数は、小数点を丸める働きがあるもの。
round
は小数点を四捨五入し、ceil
は小数点を繰り上げ、floor
は小数点を切り捨てる働きをする。
例えば、round
だと以下のように使う。
<?php $var = 4.65; $res = round($var); var_dump($res, $var);
結果は、以下の通り。元の変数に変化はなく、結果を戻り値として返すようになっている。(戻り値はint型ではなく、float型として返される)
float(5) float(4.65)
また、roundは第2引数に数字を入れることで、小数第何桁を四捨五入するかを決めれる。例えば、上記の例だと$res = round($var, 1);
とすれば、小数第2桁から四捨五入されて、4.7と言う結果が返される。
ちなみに、ceil
は天井、floor
は床の意味。
count
主に配列の要素数を数えるのに使う関数。
<?php $var = ['name' => 'taor']; $res = count($var); var_dump($res);
結果は、1が返される。
file_get_contents
fileの内容を文字列に格納する関数。
普通ファイルを操作するためにはfoepn
でファイルを開いて、、みたいなことをやる必要があるが、file_get_contents
はファイルを開いて取得する動作をやってくれる。
参考:PHP: file_get_contents - Manual
ini_set
PHP側が用意している設定オプションをいじれる関数。
良くあるのが、以下のようにしてエラーを画面に表示させないようにするものだろう。
<?php ini_set( 'display_errors', '1' )
設定できるオプションの種類に関しては、「PHP: php.ini ディレクティブのリスト - Manual」が詳しい。
header
生のheader情報を送信できる関数。生のheaderとは、header('Location: http://www.example.com/');
のように自分でheader情報をいじれることを言う。
ただ、header
関数を使うには制約があり、header
関数の前に出力してはいけない、と言うことだ。これには、require
などのファイル読み込み、空白、HTMLなども含まれる。
str_replace
第3引数に置換したい文字列を入れて、第1引数を第2引数の文字に変換する関数。
説明するよりも、以下の例を見た方が分かりやすい。以下の例では、$varの文字列の半角スペースをAに置き換える。
<?php $var = "I am tarou"; $res = str_replace(" ", "A", $var); var_dump($res);
string(10) "IAamAtarou"
なお、このstr_replace
では正規表現によるマッチングは使えないので、もし正規表現を使いたい場合はpreg_replace
を使うべき。
trim
文字列の先頭、末尾からwhitespaceを取り除く関数。whitespaceとは、半角スペース、タブ、改行などの文字をいう。
第2引数に文字列を指定することで、whitespaceではない文字を取り除くことができる。例えば、trim($var, '/')
とした場合は、$varの先頭、末尾にある/
を取り除いてくれる。
また、先頭だけ取り除きたい場合はltrim
、末尾だけの場合はrtrim
が良く、先頭や末尾ではなく文字の真ん中を取り除きたい場合は、先ほどのstr_replace
が良い。