回答:
複数のkey => valueを追加する必要がある場合は、これを試してください。
$data = array_merge($data, array("cat"=>"wagon","foo"=>"baar"));
array_merge
。
$data['cat'] = 'wagon';
キーと値を配列に追加するために必要なのはこれだけです。
例えば:
$data = array('firstKey' => 'firstValue', 'secondKey' => 'secondValue');
キー値を変更する場合:
$data['firstKey'] = 'changedValue';
//this will change value of firstKey because firstkey is available in array
出力:
配列([firstKey] => changedValue [secondKey] => secondValue)
新しいキーと値のペアを追加する場合:
$data['newKey'] = 'newValue';
//this will add new key and value because newKey is not available in array
出力:
配列([firstKey] => firstValue [secondKey] => secondValue [newKey] => newValue)
array_push()関数を使用する必要はありません。新しい値を新しいキーで配列に直接割り当てることができます。
$array = array("color1"=>"red", "color2"=>"blue");
$array['color3']='green';
print_r($array);
Output:
Array(
[color1] => red
[color2] => blue
[color3] => green
)
$array['color3']='green'
です。これがまさに@dusoftが上記で行ったことです。あなたのコードはそのソリューションを単に難読化したものです。
ただそれをしてください:
$data = [
"dog" => "cat"
];
array_push($data, ['cat' => 'wagon']);
* php 7以降では、配列は()ではなく[]を使用して作成されます
array_push
2番目のパラメーターを新しい値として(キーと値の組み合わせでarray_merge
はなく)追加し、PHP 7はarray()
配列構文(および省略[]
構文)をうまく受け入れます
$a['123'] = 456;
-文字列「123」は整数キー123に変換される