php listを使って配列から変数を生成する
phpで、listを使用して、配列から変数を生成するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
list使い方
listを使用すれば、配列から変数を生成することが可能です。
list(変数名,...) = 配列;
以下は、配列から変数を生成するサンプルコードとなります。
<?php
$arr = ["aaa", "bbb", "ccc"];
list($a, $b, $c) = $arr;
echo $a . PHP_EOL; // aaa
echo $b . PHP_EOL; // bbb
echo $c . PHP_EOL; // ccc
配列の要素数と変数は一致してなくてもエラーにはなりません。
<?php
$arr = ["aaa", "bbb", "ccc"];
list($a, $b) = $arr;
echo $a . PHP_EOL; // aaa
echo $b . PHP_EOL; // bbb
ただし、変数の方が要素数より多ければ、Warningが発生します。
<?php
$arr = ["aaa", "bbb", "ccc"];
list($a, $b, $c, $d) = $arr;
echo $a . PHP_EOL; // aaa
echo $b . PHP_EOL; // bbb
echo $c . PHP_EOL; // ccc
echo $d . PHP_EOL; //
実行結果
PHP Warning: Undefined array key 3 in /usr/share/nginx/html/sample.php on line 5
PHP Stack trace:
PHP 1. {main}() /usr/share/nginx/html/sample.php:0
aaa
bbb
ccc
また、listはphp7.1では以下のように記述することも可能です。
<?php
$arr = ["aaa", "bbb", "ccc"];
[$a, $b, $c] = $arr;
echo $a . PHP_EOL; // aaa
echo $b . PHP_EOL; // bbb
echo $c . PHP_EOL; // ccc
また、インデックス番号をキーにした連想配列からも変数を生成することが可能です。
<?php
$arr = [0 => "a", 1 => "b", 2 => "c"];
list($a, $b, $c) = $arr;
echo $a . PHP_EOL; // aaa
echo $b . PHP_EOL; // bbb
echo $c . PHP_EOL; // ccc
listを使用すれば、配列から、特定の位置の配列の値を変更することも可能です。
<?php
$arr1 = [1, 2, 3];
$arr2 = ["aaa", "bbb", "ccc"];
list($arr1[0], $arr1[2]) = $arr2;
print_r($arr1);
実行結果
Array
(
[0] => aaa
[1] => 2
[2] => bbb
)
-
前の記事
docker composeを使って「hbase」を構築するまでの手順 2020.12.13
-
次の記事
jquery onを使ってイベントをbind(バインド)する 2020.12.14
コメントを書く