php5.4新機能の配列周りをご紹介

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 の設定にかかわらず’コチラ
・新関数追加以下一部
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]のように。下記参照です。

 /**
  * 配列テスト
  */
 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!

時間があればトレイトなども紹介できたらと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です