array_pushでは配列に追加する要素のキーは指定できない

array_push関数は配列の最後に要素を追加します。

<?php
$ar = array("東京", "千葉", "神奈川");
array_push($ar, "埼玉");
print_r($ar);
?>

○実行結果

Array ( [0] => 東京 [1] => 千葉 [2] => 神奈川 [3] => 埼玉 ) 

「"key" => "value"」の形式でキーを指定して値を追加することはできません。次のコードはエラーになります。

<?php
$ar = array("t"=>"東京", "c"=>"千葉", "k"=>"神奈川");
array_push($ar, "s"=>"埼玉");
print_r($ar);
?>

○実行結果

 Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) …略…

この場合、array_push関数を使う代わりに「$ar["key"] = value;」で追加する方法などがあります。

<?php
$ar = array("t"=>"東京", "c"=>"千葉", "k"=>"神奈川");
$ar["s"] = "埼玉";
print_r($ar);
?>

○実行結果

Array ( [t] => 東京  => 千葉 [k] => 神奈川 [s] => 埼玉 ) 
速さの面でもarray_push関数よりも「$ar["key"] = value;」が有利です。
array_push関数による配列要素の追加は$array[]より遅い

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル
スポンサーリンク