配列から変数への変換

概要

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