私は昨日ヘッドスクラッチャーを持っていました。
<select>
基本的に、オプションとしてボックスに入れる文字列キー(数値を含みますが、引用符で囲まれた文字列を含む)を含むいくつかのデータの連想配列がありました。選択ボックスのオプションにプレースホルダー値を追加したかったのです。
array_mergeを使おうとしました:
$placeholder = "Month";
$source = array
(
'01' => '01 - January',
'02' => '02 - February',
'03' => '03 - March',
'04' => '04 - April',
'05' => '05 - May',
'06' => '06 - June',
'07' => '07 - July',
'08' => '08 - August',
'09' => '09 - September',
'10' => '10 - October',
'11' => '11 - November',
'12' => '12 - December'
);
$source = array_merge(array('' => $placeholder), $source);
そして、私は奇妙な結果を見ていました-結果の$source
配列は次のようになりました:
(
'' => 'Month',
'01' => '01 - January',
'02' => '02 - February',
'03' => '03 - March',
'04' => '04 - April',
'05' => '05 - May',
'06' => '06 - June',
'07' => '07 - July',
'08' => '08 - August',
'09' => '09 - September',
0 => '10 - October',
1 => '11 - November',
2 => '12 - December'
);
何らかの理由で、10月から12月に自動インクリメントの整数キーのように見えるものを使用し始めたことに注意してください。
array_merge呼び出しを次のように置き換えることができます。
$source = array('' => $placeholder) + $source;
また、配列のキーが再生成されず、すべてが正常ですが、この場合のシーンで何が起こっているのかわかりませんarray_merge
。
使用したときに配列キーに何が起こったのか説明してもらえますarray_merge
か?ありがとう!