PHPの配列表記の省略形は何ですか?
私は使用しようとしました(動作しません):
$list = {};
PHPの他の略記法に関する情報へのリンクを提供すれば、完璧です。
更新:
PHP 5.4.0 a 短縮された構文 配列を宣言するための導入:
_$list = [];
_
前の回答:
ありません。 $list = array();
のみですが、要素の追加を開始できます。
_<?php
$list[] = 1;
$list['myKey'] = 2;
$list[42] = 3;
_
PHPに関する限り、完全に問題ありません。 未定義変数のE_NOTICE も取得できません。
E_NOTICEレベルエラーは、初期化されていない変数を操作する場合に発行されますが、初期化されていない配列に要素を追加する場合は発行されません。
速記法については、至る所に散らばっています。それらを見つけたい場合は The Manual を読んでください。
あなたの娯楽のためのいくつかの例:
$arr[]
_ _array_Push
_の短縮形。foreach
コンストラクトecho $string1, $string2, $string3;
_+
_との配列連結elseif
の存在$name = 'Jack'; echo "Hello $name";
_はい、存在します!!
別のStack Overflow質問から抽出:
配列の短縮構文は再検討され、受け入れられ、現在PHP 5.4でリリースされています
使用法:
$list = [];
リファレンス: PHP 5.4配列のショートハンド
次のように[]内のコンテンツを定義することもできます。
$array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']];
これはphp5.4以降でのみ機能します。
いいえ、それはコミュニティによって提案され、拒否されたため、現在のところ配列の構文のみ array() です。
PHPで配列を定義する唯一の方法は、 array()
言語構成によるものです。 PHPには、他のいくつかの言語のように配列リテラルの省略形がありません。
文字列を次のように配列に展開します。
$array = explode(",","0,1,2,3,4,5,6,7,8,9,10");
次のように配列を宣言できます。
$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);
必要な数の埋め込み配列を使用できます。