PHPerなら知っておいて損はない10の関数
こんにちは。小川です。
本日は数あるPHPの関数の中でも、わりと知られてそうで実は知らない人もいるかもしれない便利な関数をご紹介します。
改行コードを<br />に変換する関数です。
<?php
$string = <<<EOS
foo
bar
baz
EOS;
echo nl2br($string);
結果:
foo
bar
baz
デフォルトではXML形式の空要素を出力しますが、PHP 5.3.0から第2引数にfalseを指定すると<br>として出力できるようにもなりました。
この関数はもはやPHPerなら常識でしょうか?
文字を丸める関数です。
<?php
$string = "アシアルは今、より多くのお客様にサービスを提供していこうと考えています。業務内容には多くの範囲が含まれますが、自身のアイデアを活かしたい、今までにないWebサービス
を作りたい、PHP言語に興味がある、といった方は、アシアルで一緒に頑張ってみませんか?";
echo mb_strimwidth($string, 0, 60, '...', 'UTF-8');
結果:
アシアルは今、より多くのお客様にサービスを提供していこう...
上記のように、指定した文字数分に文字列を丸めてくれます。第2引数が開始位置、第3引数が丸める幅です。丸める幅は半角文字の幅で計算されますので、全角の場合は2倍の数値を指定します。
数値をフォーマットする関数です。
<?php
$number = 12456.789;
echo number_format($number);
echo number_format($number, 2);
結果:
12,457
12,456.79
千単位でグループ化してくれます。第2引数に小数点以下の桁数も指定可能です。
配列からクエリ文字列を生成する関数です。
<?php
$data = array('name' => 'fivestar', 'age' => 23);
echo http_build_query($data, null, ' &');
結果:
name=fivestar &age=23
基本的には第1引数だけ指定すれば十分ですが、php.iniのarg_separator.outputという値によって出力結果が変わるため、第3引数に’&’を明示的に指定した方が安全です。
また、各要素には自動的にURLエンコードがかけられます。
http_build_queryの逆バージョンのような関数です。
<?php
$query = "name=fivestar &age=23";
parse_str($query, $data);
var_dump($data);
結果:
array(2) {
["name"]=>
string(8) "fivestar"
["age"]=>
string(2) "23"
}
戻り値ではなく、第2引数に変数の参照を渡します。