PHPのarray_pushの使い方をわかりやすく解説。配列に複数の値をプッシュする
目次
- PHPのarray_pushの使い方
- array_pushの構造
- 配列に値を1つ追加する
- 配列に値を複数追加する
- 返り値で追加後の配列の要素数を得る
- 第1引数が配列でない場合
- 連想配列に値を追加するには?
- 使用例
- 出題
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引数として適当なものを答えよ
整数
null
配列
Q2: array_push
の第1引数がnull
の場合の挙動を答えよ
エラーを出力して異常終了する
例外を送出する
警告を出力する
Q3: array_push
の返り値として適当なものを答えよ
errno
HTTPステータスコード
配列の要素数
Q1: 3
Q2: 3
Q3: 3