PHPerなら知っておいて損はない10の関数
こんにちは。小川です。
本日は数あるPHPの関数の中でも、わりと知られてそうで実は知らない人もいるかもしれない便利な関数をご紹介します。
■nl2br
改行コードを<br />に変換する関数です。
結果:
デフォルトではXML形式の空要素を出力しますが、PHP 5.3.0から第2引数にfalseを指定すると<br>として出力できるようにもなりました。
この関数はもはやPHPerなら常識でしょうか?
■mb_strimwidth
文字を丸める関数です。
結果:
上記のように、指定した文字数分に文字列を丸めてくれます。第2引数が開始位置、第3引数が丸める幅です。丸める幅は半角文字の幅で計算されますので、全角の場合は2倍の数値を指定します。
■number_format
数値をフォーマットする関数です。
結果:
千単位でグループ化してくれます。第2引数に小数点以下の桁数も指定可能です。
■http_build_query
配列からクエリ文字列を生成する関数です。
結果:
基本的には第1引数だけ指定すれば十分ですが、php.iniのarg_separator.outputという値によって出力結果が変わるため、第3引数に'&'を明示的に指定した方が安全です。
また、各要素には自動的にURLエンコードがかけられます。
■parse_str
http_build_queryの逆バージョンのような関数です。
結果:
戻り値ではなく、第2引数に変数の参照を渡します。
■array_filter
配列をフィルタリングする関数です。
結果:
第1引数に指定した配列を第2引数で指定したコールバックによってフィルタリングします。コールバックがfalseを返すと要素は除外されます。コールバックを指定しないと、偽と見なされる要素が除外されます。
■ucfirst
文字列の先頭を大文字にします。
結果:
これとは逆に先頭を小文字にするlcfirst関数もありますが、こちらは5.3.0から利用可能です。
■var_dump
これは当然ご存じですよね。var_dump()には、複数の要素が指定可能です。
結果:
■memory_get_peak_usage
PHPに割り当てられたメモリのピーク値を取得します。
結果:
そのプロセス中のピークの値が返されます。引数trueを指定すると実際に割り当てられたメモリ量を取得します。
■phpcredits
PHPのクレジットを出力します。これはぜひ自分の手で実行してみてください!
さて、以上でしたがいかがでしょうか。全部知っているという方も多いかと思われます。
PHPは便利な関数がたくさんあってすばらしいですね!
本日は数あるPHPの関数の中でも、わりと知られてそうで実は知らない人もいるかもしれない便利な関数をご紹介します。
■nl2br
改行コードを<br />に変換する関数です。
- $string
= <<<EOS - foo
- bar
- baz
- EOS;
- echo
nl2br($string);
結果:
- foo<br
/> - bar<br
/> - baz
デフォルトではXML形式の空要素を出力しますが、PHP 5.3.0から第2引数にfalseを指定すると<br>として出力できるようにもなりました。
この関数はもはやPHPerなら常識でしょうか?
■mb_strimwidth
文字を丸める関数です。
- $string
= "アシアルは今、より多くのお客様にサービスを提供していこうと考えています。業務内容には多くの範囲が含まれますが、自身のアイデアを活かしたい、今までにないWebサービス - を作りたい、PHP言語に興味がある、といった方は、アシアルで一緒に頑張ってみませんか?";
- echo
mb_strimwidth($string, 0, 60, '...', 'UTF-8');
結果:
- アシアルは今、より多くのお客様にサービスを提供していこう...
上記のように、指定した文字数分に文字列を丸めてくれます。第2引数が開始位置、第3引数が丸める幅です。丸める幅は半角文字の幅で計算されますので、全角の場合は2倍の数値を指定します。
■number_format
数値をフォーマットする関数です。
- $number
= 12456.789; - echo
number_format($number); - echo
number_format($number, 2);
結果:
- 12,457
- 12,456.79
千単位でグループ化してくれます。第2引数に小数点以下の桁数も指定可能です。
■http_build_query
配列からクエリ文字列を生成する関数です。
- $data
= array('name' => 'fivestar', 'age' => 23); - echo
http_build_query($data, null, '&');
結果:
- name=fivestar&age=23
基本的には第1引数だけ指定すれば十分ですが、php.iniのarg_separator.outputという値によって出力結果が変わるため、第3引数に'&'を明示的に指定した方が安全です。
また、各要素には自動的にURLエンコードがかけられます。
■parse_str
http_build_queryの逆バージョンのような関数です。
- $query
= "name=fivestar&age=23"; - parse_str($query,
$data); - var_dump($data);
結果:
- array(2)
{ ["name"]=> string(8) "fivestar" ["age"]=> string(2) "23" - }
戻り値ではなく、第2引数に変数の参照を渡します。
■array_filter
配列をフィルタリングする関数です。
- $array
= array(1, 2, 3, 4, 5); - $filtered
= array_filter($array, function($v) { return ($v % 2) === 0; - });
- var_dump($filtered);
- $array
= array(1, 2, null, 3); - $filtered
= array_filter($array); - var_dump($filtered);
結果:
- array(2)
{ [1]=> int(2) [3]=> int(4) - }
- array(3)
{ [0]=> int(1) [1]=> int(2) [3]=> int(3) - }
第1引数に指定した配列を第2引数で指定したコールバックによってフィルタリングします。コールバックがfalseを返すと要素は除外されます。コールバックを指定しないと、偽と見なされる要素が除外されます。
■ucfirst
文字列の先頭を大文字にします。
- $string
= "foo"; - echo
ucfirst($string);
結果:
- Foo
これとは逆に先頭を小文字にするlcfirst関数もありますが、こちらは5.3.0から利用可能です。
■var_dump
これは当然ご存じですよね。var_dump()には、複数の要素が指定可能です。
- var_dump(1,
"str", 0.2);
結果:
- int(1)
- string(3)
"str" - float(0.2)
■memory_get_peak_usage
PHPに割り当てられたメモリのピーク値を取得します。
- echo
memory_get_peak_usage(); - echo
memory_get_peak_usage(true);
結果:
- 634952
- 786432
そのプロセス中のピークの値が返されます。引数trueを指定すると実際に割り当てられたメモリ量を取得します。
■phpcredits
PHPのクレジットを出力します。これはぜひ自分の手で実行してみてください!
さて、以上でしたがいかがでしょうか。全部知っているという方も多いかと思われます。
PHPは便利な関数がたくさんあってすばらしいですね!
トラックバックURI
最近の記事
JavaScriptのクロスドメイン問題対応方法 [2012年05月17日 : 笹亀弘]
JavaScriptのコーディング規約を気軽にチェック [2012年05月14日 : 中川善樹]
誕生日プレゼント [2012年05月10日 : 阿部恵]
イラストでわかる!git入門の入門 [2012年05月09日 : 志田仁美]
【CSS3】HSL色空間による色指定のすゝめ [2012年05月09日 : 橋本章史]
インスピレーションをかきたてるポスターデザインのまとめ記事のまとめ [2012年04月25日 : 鴨田健次]
エンジニアの英会話 〜とっさの一言〜 [2012年04月19日 : 斉藤勝也]
イコライザーをFireworksで描いてみました [2012年04月16日 : 和田記光]
SFNewTech Japan Night のファイナリストに選出されました!(他、もろもろの出展の御案内) [2012年04月06日 : 小林有佳]
使えるとちょっと便利なSSHのTIPS [2012年04月04日 : 牧野克俊]













コメントフォーム