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引数として適当なものを答えよ
- 整数
- null
- 配列
Q2: array_push
の第1引数がnull
の場合の挙動を答えよ
- エラーを出力して異常終了する
- 例外を送出する
- 警告を出力する
Q3: array_push
の返り値として適当なものを答えよ
- errno
- HTTPステータスコード
- 配列の要素数
Q1: 3
Q2: 3
Q3: 3