PHP5.4になってようやくarrayいらずの形式になりました。
short syntacx arrayです。新機能の配列周りのご紹介したいと思います。
ただまだまだ5.2が多いのかなと思う今日この頃。使っているレンタルサーバーにもまだ5.4導入されていませんねー。
5.3までといったところでしょうか?
ローカル開発環境で使って見ているところです。
PHP5.4の新機能の一部をご紹介しておきます。
スポンサーリンク
5.4新機能まとめ
・トレイト(単一継承言語でコードを再利用するための仕組みのひとつです。トレイトは単にいくつかの機能をまとめるためだけのものです。)
・Short Array Syntax(配列の短縮構文)
・Array Dereferencing(foo()[0])
・register_globals/safe mode/magic_quotes_gpcの廃止
・未設定の文字コードがUTF8
・short_open_tag の設定にかかわらず’=' が常に有効。
・セッションモジュールで、ファイルのアップロード状況を追跡。
・ビルトインサーバー(これでapacheいらず?)
・速度向上1~2割アップ、メモリ使用量も削減
・E_ALLにE_STRICTが含まれる。外す場合はE_ALL^E_STRICT
・htmlspecialcharsの引数が増えました。ENT_SUBSTITUTE/ENT_DISALLOWED/ENT_HTML401/ENT_XML1/
ENT_XHTML/ENT_HTML5⇒詳しくはコチラ
・新関数追加以下一部
hex2bin()/http_response_code()/get_declared_traits()/getimagesizefromstring()/stream_set_chunk_size()/socket_import_stream()/trait_exists()/header_register_callback()/class_uses()/session_status()/session_register_shutdown()
・非推奨の関数
mcrypt_generic_end()/mysql_list_dbs()
5.4のarray短縮形
5.4になってようやく”[]”だけで配列ができます。
[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]こんなかんじで表記できます。
関数の配列も直接アクセスできます。
ArrayFunction()[3]のように。下記参照です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | /** * 配列テスト */ class ArrayClass { function getArray() { // 配列の書き方が簡単になりました!! return ['test' => 'hairetu', 'sample' => 'kantan', 'foo' => 'bar']; } function setArray(){ return ['java' => 'script', 'ruby' => 'rails', 'php' => '5.4', 'google' => 'python']; } function printChars(){ echo 'HelloWorld!'; } } $array = new ArrayClass(); var_dump($array->getArray()); /* * array (size=3) * 'test' => string 'hairetu' (length=7) * 'sample' => string 'kantan' (length=6) * 'foo' => string 'bar' (length=3) * */ // 実はこんな出力方法も可能になりました! echo $array->setArray()['php']; // => 5.4 // newから直接メソットを呼び出ししちゃいます! (new ArrayClass)->printChars(); // =>HelloWorld! |
時間があればトレイトなども紹介できたらと思います。