WEB/システム/IT技術ブログ

PHPの関数array_pushで連想配列を作ろうとしたが失敗

PHPで動的に連想配列を作りたかったのですが、うまくいきません。

具体的には、以下にダンプに示すような配列をプログラムで作る想定です。

Array
(
    [key1] => data1
    [key2] => data2
    [key3] => data3
    [key4] => data4
)

これをPHPで静的に定義するためには、以下のようにすればよいです。

$array = array(
	'key1' => 'data1',
	'key2' => 'data2',
	'key3' => 'data3',
	'key4' => 'data4'
)

ただ、プログラム上、どうしても動的に配列を操作したい場合があり、その方法を考えていたのです。
例えば、上に要素を追加したい場合、array_push関数を使うとこうなるでしょうか。

array_push($array, 'key5' => 'data5');

PHPの文法に反しているので、当然ですがエラーになってしまいます。

そうなると、こういう事でしょうか。

array_push($array, array('key5' => 'data5'));

以下にダンプ結果を示しますが、うまくいっていません。

Array
(
    [0] => Array
        (
		    [key1] => data1
		    [key2] => data2
		    [key3] => data3
		    [key4] => data4
        )

    [1] => Array
        (
		    [key5] => data5
        )
)

何度かトライしましたが、どうしてもうまくいきません。

最終的にWebを調べたのですが、以下が正解のようです。知らなかった。。。

$array += array('key5' => 'data5');
B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives