配列から変数への変換
概要
list
キーがインデックス形式の0~nの場合は有効だが、連想配列のようにキー名を指定したな場合は取得できない
extract
配列をシンボルテーブルに書き込んでそれぞれ個別の変数とする
compact
変数名とキー、変数の値をデータとして連想配列を作成する
サンプル(list)
<?php
// 1次元配列の場合
$a = array("aaa", "bbb", "ccc");
list($a1, $a2, $a3) = $a;
var_dump($a);
var_dump($a1);
var_dump($a2);
var_dump($a3);
// 連想配列の場合は取得できない
$b = array("001" => "aaa", "002" => "bbb", "003" => "ccc");
list($a1, $a2, $a3) = $b;
var_dump($b);
var_dump($a1);
var_dump($a2);
var_dump($a3);
// 多次元配列の場合
$a = array(
array("aaa1", "bbb1", "ccc1")
, array("aaa2", "bbb2", "ccc2")
, array("aaa3", "bbb3", "ccc3")
);
list($a1, $a2, $a3) = $a;
var_dump($a);
var_dump($a1);
var_dump($a2);
var_dump($a3);
?>
サンプル(extract、compact)
<?php
// 配列を作成
$z = array("k1" => "aaaaa", "z1" => "bbbbb", "y1" => "ccccc");
// 変数に変換
extract($z);
var_dump($k1);
var_dump($z1);
var_dump($y1);
// 変数作成
$aaa = "hogehoge";
$bbb = "foo";
$ccc = "foofoo";
// 配列を作成
$a = compact('aaa', 'bbb', 'ccc');
var_dump($a);
?>
最終更新:2012年08月13日 20:32