PHPでの配列表記の省略形は何ですか?
使用しようとしました(機能しません):
$list = {};
PHPの他の速記に関するいくつかの情報へのリンクを提供すれば、それは完璧です。
回答:
更新:
PHP 5.4.0以降、配列を宣言するための短縮された構文が導入されました。
$list = [];
前の回答:
ありません。のみ$list = array();
しかし、あなたはただ要素を追加し始めることができます。
<?php
$list[] = 1;
$list['myKey'] = 2;
$list[42] = 3;
PHPに関する限り、それは完全に問題ありません。未定義の変数のE_NOTICEも取得しません。
E_NOTICEレベルのエラーは、初期化されていない変数を操作する場合に発行されますが、初期化されていない配列に要素を追加する場合は発行されません。
速記法はあちこちに散らばっています。それらを見つけたい場合は、マニュアルを読んでください。
あなたの娯楽のためだけに、いくつかの例:
$arr[]
の省略形array_push
。foreach
構文echo $string1, $string2, $string3;
+
elseif
$name = 'Jack'; echo "Hello $name";
$results[] = $row;
意味を同僚に尋ねなければなりませんでした。
$var = [];
PHP7で導入されたと思いました。5.4までさかのぼるとは思いもしませんでした!
はい、存在します!!
別のStackOverflowの質問からの抜粋:
配列の短縮された構文が再検討され、受け入れられ、PHP5.4でリリースされる予定です。
使用法:
$list = [];
参照:PHP5.4配列の省略形
=>
は:
、キーと値の間の代わりに使用してください!
[]内のコンテンツを次のように定義することもできます。
$array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']];
これはphp5.4以降でのみ機能します。
PHP5.3の時点ではありません。
phpで配列を定義する唯一の方法は、array()
言語構造によるものです。PHPには、他のいくつかの言語のように配列リテラルの省略形がありません。
配列は次のように宣言できます。
$myArray1 = array(num1, num2, num3);
$myArray2 = array('string1', 'string2', 'string3');
$myArray3 = array( 'stringkey1'=>'stringvalue1', 'stringkey2'=>'stringvalue2');
$myArray4 = array( 'stringkey1'=>numValue1, 'stringkey2'=>numValue2);
$myArray5 = array( numkey1=>'stringvalue1', numkey2=>'stringvalue2');
$myArray6 = array( numkey1=>numValue1, numkey2=>numValue2);
必要な数の組み込み配列を持つことができます。
文字列を次のように配列に分解します。
$array = explode(",","0,1,2,3,4,5,6,7,8,9,10");