私は配列があるといいます。PHP配列エラー
$a = array(1=>'one',2=>'two');
と別の配列$ B
$b = array(a => $a); This doesnt work while,
$b = array(a => array(1=>'one',2=>'two')); works.
私は配列があるといいます。PHP配列エラー
$a = array(1=>'one',2=>'two');
と別の配列$ B
$b = array(a => $a); This doesnt work while,
$b = array(a => array(1=>'one',2=>'two')); works.
このような引用符で鍵を囲ま:
$b = array('a' => $a);
A key may be either an integer or a string.キーが文字列の場合、それはその、引用符で囲む必要がありますあなたのコードはありません。
アクションhereで動作する固定コードを参照してください。
+1、正しい。特に*非数値キーは文字列であり、引用符で囲む必要があります。 (ユーザーはすでに*数字キーが引用符なしで動作していますが、これは問題ありません) – Spudley
はちょうどそれが動作するはずそれをテストし、リンク
複製することができませんを見てみましょう。それがあるべき、つまり、あなたは、裸の単語としてa
を使用すべきではない、しかし
Array
(
[a] => Array
(
[1] => one
[2] => two
)
)
:私のために「仕事」あなたの例はどちらも、ある意味で彼らはのデータ構造を生成すること
$b = array('a' => $a);
おそらくあなたの実際のコードでこれはあなたの問題を引き起こしています。あなたの作成した例が実際に失敗を生成しないので、私は確かに言い表すことはできません。
デバッグの場合は、常にerror_reporting(E_ALL);
と設定します。あなたのケースでは、それが動作していない理由が表示されます。
a
=>'a'
とする必要があります。
文字列配列のインデックスを引用符で囲む必要がありますが、PHPは不確定な定数(引用符のない文字列)を文字列に変換するので、警告が生成されますがコードは実行されます。私はhttp://writecodeonline.com/php/のすべての例を試してみましたが、うまくいきました!
'$ b = array( 'a' => $ a);'は動作するはずです。文字列配列キーは引用符で囲む必要があります – acm
再現できません。最初のものは "定義されていない定数aの使用 - 仮定された 'a'"という通知を出しますが、それは機能します。しかし、言及した他のものと同様に、文字列(引用符で囲まれたテキスト)を使用する必要があります。 – KingCrunch
私の悪いです。私が気付かなかったのは、引用符が一致しなかったケースでした。先端に感謝します。 – cowboybebop