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

ReratedPosts

CentOS7にphpbrewとphpを入れてPHPの開発環境を構築する方法
PHPで色々な所で使える便利な関数25選
PHPのissetとis_null、emptyの違いや関係を調べてみる
PHPでob_startの使い方とか使い道とか
PHPのin_arrayの第3引数にはtrueを使う方が良いという話
PHPフレームワーク「CodeIgniter」のLoaderClassを読み解く