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は床の意味。

参考:PHP: round – Manual

参考:PHP: ceil – Manual

参考:PHP: floor – Manual

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: ini_set – Manual

設定できるオプションの種類に関しては、「PHP: php.ini ディレクティブのリスト – Manual」が詳しい。

header

生のheader情報を送信できる関数。生のheaderとは、header('Location: http://www.example.com/');のように自分でheader情報をいじれることを言う。

ただ、header関数を使うには制約があり、header関数の前に出力してはいけない、と言うことだ。これには、requireなどのファイル読み込み、空白、HTMLなども含まれる。

参考:PHP: header – Manual

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を使うべき。

参考:PHP: preg_replace – Manual

参考:PHP: str_replace – Manual

trim

文字列の先頭、末尾からwhitespaceを取り除く関数。whitespaceとは、半角スペース、タブ、改行などの文字をいう。

第2引数に文字列を指定することで、whitespaceではない文字を取り除くことができる。例えば、trim($var, '/')とした場合は、$varの先頭、末尾にある/を取り除いてくれる。

また、先頭だけ取り除きたい場合はltrim、末尾だけの場合はrtrimが良く、先頭や末尾ではなく文字の真ん中を取り除きたい場合は、先ほどのstr_replaceが良い。

PHP: trim – Manual

ReratedPosts

phpの__autoload関数とかspl_autoload_registerについて理解したのでまとめておく
CentOS7にphpbrewとphpを入れてPHPの開発環境を構築する方法
PHPのin_arrayの第3引数にはtrueを使う方が良いという話
PHPでURLのqueryの配列を作りたい時にはexplode関数を使えば良い感じになる
Ubuntu18.04.1にphpbrew+php7.2+apache2+MySQL5.7の開発環境を整える方法
phpで自作strlen関数を作ってみた