ユーニックス総合研究所

  • home
  • archives
  • php-array-push

PHPのarray_pushの使い方をわかりやすく解説。配列に複数の値をプッシュする

  • 作成日: 2020-09-10
  • 更新日: 2023-12-24
  • カテゴリ: PHP

PHPのarray_pushの使い方

PHPには配列に値を追加する関数array_pushがあります。

array_pushに配列と値を渡すと、配列の末尾に値を追加できます。

<?php  

$arr = [1, 2];  

array_push($arr, 3, 4);  // <- $arrの末尾に3, 4が追加される  

var_dump($arr);  

?>  

出力結果。

array(4) {  
  [0]=>  
  int(1)  
  [1]=>  
  int(2)  
  [2]=>  
  int(3)  
  [3]=>  
  int(4)  
}  

array_pushの構造

array_pushは↓のような構造を持っています。

array_push(配列, 値1, 値2, 値n...);  

array_pushの第1引数に対象となる配列を渡します。array_pushはこの配列に対して処理を行います。
第2引数以降に配列に追加したい値を渡します。値は複数渡すことが出来ます。
array_pushは第1引数の配列の末尾に、第2引数以降の値を追加していきます。

第1引数が配列でなかった場合は、array_pushは警告を出力します。

戻り値は値を追加後の配列の要素数です。

配列に値を1つ追加する

配列に値を追加するには↓のようにarray_pushを使います。

<?php  

$arr = [1, 2];  

array_push($arr, 3);  // <- $arrの末尾に3が追加される  

var_dump($arr);  

?>  

出力結果。

array(3) {  
  [0]=>  
  int(1)  
  [1]=>  
  int(2)  
  [2]=>  
  int(3)  
}  

$arr[] = 値;を使った↓の書き方をしても同様の結果が得られます。

<?php  

$arr = [1, 2];  

$arr[] = 3;  

var_dump($arr);  

?>  
array(3) {  
  [0]=>  
  int(1)  
  [1]=>  
  int(2)  
  [2]=>  
  int(3)  
}  

配列に値を複数追加する

配列に複数の値を追加するにはarray_pushを↓のように使います。

<?php  

$arr = [1, 2];  

array_push($arr, 3, 4);  // <- 配列の末尾に3, 4が追加される  

var_dump($arr);  

?>  

出力結果。

array(4) {  
  [0]=>  
  int(1)  
  [1]=>  
  int(2)  
  [2]=>  
  int(3)  
  [3]=>  
  int(4)  
}  

返り値で追加後の配列の要素数を得る

array_pushは返り値に値を追加後の配列の要素数を返します。

<?php  

$arr = [1, 2];  

$nelems = array_push($arr, 3, 4);  // 長さ2の配列に値を2つ追加  

echo "$nelems\n";  // 長さは・・・  

?>  

出力結果。

4  

第1引数が配列でない場合

array_pushは第1引数が配列でない場合に警告を出力します。

<?php  

array_push(null);  

?>  

出力結果。

PHP Fatal error:  Only variables can be passed by reference in sample.php on line 3  

連想配列に値を追加するには?

連想配列に値を追加したい場合は配列に[キー]でアクセスして値を追加します。

<?php  

$arr = ['cat' => 'nyan', 'dog' => 'wan'];  

$arr['bird'] = 'kii';  

var_dump($arr);  

?>  

出力結果。

array(3) {  
  ["cat"]=>  
  string(4) "nyan"  
  ["dog"]=>  
  string(3) "wan"  
  ["bird"]=>  
  string(3) "kii"  
}  

使用例

array_pushの使用例です。

for文で配列に値を追加する

空の配列にfor文のカウント変数を追加していきます。

<?php  

$arr = [];  

for ($i = 0; $i < 4; $i++) {  
    array_push($arr, $i);  
}  

var_dump($arr);  

?>  

出力結果。

array(4) {  
  [0]=>  
  int(0)  
  [1]=>  
  int(1)  
  [2]=>  
  int(2)  
  [3]=>  
  int(3)  
}  

出題

Q1: array_pushの第1引数として適当なものを答えよ

  1. 整数
  2. null
  3. 配列

Q2: array_pushの第1引数がnullの場合の挙動を答えよ

  1. エラーを出力して異常終了する
  2. 例外を送出する
  3. 警告を出力する

Q3: array_pushの返り値として適当なものを答えよ

  1. errno
  2. HTTPステータスコード
  3. 配列の要素数

Q1: 3
Q2: 3
Q3: 3