私は、可変長のキー名の配列を持っていると私はの追加/編集値は
は、例えば、私が持っている配列に値を代入するために、これらの名前を使用したいです違うの車やバイクの数をリストする配列:inputtin後
$keys1 = ['cars', 'honda', 'jazz'];
$value1 = 3;
$keys2 = ['bikes', 'scott'];
$value2 = 1;
$keys3 = ['motorbikes', 'harley-davidson', 'dyna', 'street-bob'];
$value3 = 2;
:
$vehicles = [
'cars' => Array
(
'suzuki' => Array
(
'wagon' => 4,
'baleno' => 2
),
'honda' => Array
(
'civic' => 6
)
),
'bikes' => array
(
'raleigh' => 3,
'scott' => 3
)
];
私はまた、メインアレイに配置する値とともにキー名の複数のアレイを持っていますG配列は次のようになります。これらすべての値:
$vehicles = [
'cars' => Array
(
'suzuki' => Array
(
'wagon' => 4,
'baleno' => 2
),
'honda' => Array
(
'civic' => 6,
'jazz' => 3
)
),
'bikes' => array
(
'raleigh' => 3,
'scott' => 1
),
'motorbikes' => Array
(
'harley-davidson' => Array
(
'dyna' => Array
(
'street-bob' => 2
)
)
)
];
だから最初の配列は1つが以前に存在しなかった$key => $value
ペアを追加します。 2番目のキーは$array2
の末尾にあるキーの値を置き換え、最後のキーがなければ新しい配列を作成します。
どのようにして配列をこのように配置できますか?
eval()
はすべて私の問題を解決しますが、配列はhtmlから作成されるため、セキュリティ上のリスクは非常に高くなります。キー/値のペアのリストを構築する
これは素晴らしいです。ありがとうございました。 なぜarray_mergeがそこにあるのかわからなかったので、私はそれをテストせずに同じことをしましたが、5倍遅くなりました。それがなぜあるのか教えていただけますか? –
@ChrisStarlingようこそ、私は喜んで助けてくれる。あなたは本当にそこにそれを必要としません。それは実際にはそれなしではもっと速いです。私は以前に2番目の配列でテストしていたので、残りの部分だけです。私は答えを更新します。 – postrel