PHPで配列や連想配列の要素をそれぞれ変数に直す方法

PHPで配列や連想配列を別の変数に格納したい場合がある。

例えば、以下のような感じ。

<?php

$array = [24, 43, 43];

$num1 = $array[0];
$num2 = $array[1];

しかし、上記のように書くとコードが冗長になりがちなのが欠点。

PHPでは分割代入を使う

PHPで配列や連想配列を変数に分割代入したい場合は、分割配列listを使うと良い。extract関数を使うのも良いが、個人的には分割代入の方が「代入してます」感が出て好き。

<?php

$array = [ 'tarou', 19];

list($name, $age) = $array;

var_dump($name, $age); 
#result
string(5) "tarou"
int(19)

参考:PHP: list - Manual

ただし、連想配列の場合はそのままlistは使えないので、list($name, $age) = array_values($array);のように、連想配列のvalueの配列を使った上で分割代入をする必要がある。

参考:PHP: array_values - Manual