[PHP]配列の省略について(Ver.5.4以降の新機能)

Read More



今更だけど配列の短縮構文というのが
PHPのVer.5.4.0から追加されたのを今日知った(遅い

■配列の短縮構文
<?php
$a = array(1, 2, 3, 4);
$a = [1, 2, 3, 4];  // 省略系
?>



ふえぇ…



PHPでこんな書き方ができるようになっていたとは…


連想配列でもこの省略形が使える。
■連想配列の短縮構文
$a = array('one'=>'hoge, 'two'=>'piyo', 'three'=>'fuga');
$a = ['one'=>'hoge', 'two'=>'piyo', 'three'=>'fuga'];



PHPも色んな書き方ができるようになってきたんだね。

PHPの5.4以降から配列の短縮構文が使えるようになってたみたいだから、
最新がPHPの5.6.2の現在ではまったくもって今更感は否めない話題ではあるんだが…


ただし複数人で組むプログラムだった場合、
古い書き方と新しい書き方とが混在してしまうと逆に可読性が落ちる。

ドヤァで新しい書き方を書いてくれるのはこちらとしては勉強になるしありがたいのだが、
適用させるタイミングってのはなかなかもって難しい話だなあと。



--
おまけ。

配列の宣言が省略できるようになったことを知ったタイミングは
あるPHPのバッチファイルをコマンドラインで実行させようとした時。

こんなエラーが出た。
Parsing Error - syntax error, unexpected '[' in {filepath} on line {line_number}
パースエラー。


これが出た原因は、
ブラウザから実行するときのPHPのVerは5.6.22だったのだが、
コマンドから実行するときに通していた環境変数のパスが5.3.2の古いままだった。


あはは。
複数のxampp環境を切り替えて使う人は気を付けよう。




--
参考サイト)
http://php.net/manual/ja/migration54.new-features.php






Comments(2)

1  いわれて覗いてみた  2016/07/19 (火) 10:47 ID:5HuYX3q15
この記法はJSON形式への親和性のためかな?と個人的には思う。いや、詳しい資料みてないけども。

JavaScript的な書き方なので、あまり気にしなかった。今年は論文とか講義とかコーディング機会がめっきり減ったんだよねぇ。たまには何か書きたいと思う。

夏休みは長いのでそこで何か作ってみる。

いいことないかなー

2  シラサヤ  2016/07/22 (金) 14:03 ID:kxg3puV15
いいねえ夏休み
社会人のくせにうらやましいぞ

なんか面白いものができたら教えてくれ