phpでwhile、eachとlist関数を組み合わせて2 D配列を巡る方法

1673 ワード

phpでは、システムは、forループ、foreach()文、while、each、list関数の組み合わせを含む配列を巡る3つの方法をプログラマーに提供します.ここで、forループは、インデックス値が連続するインデックス配列のみを巡回するため、巡回配列の優先方法にはならない.一方、while、each、list関数を組み合わせて配列を巡る方法はforeach()よりも複雑で、使う人が少ないようです.したがって,phperの多くは遍歴配列を選択する際にforeach()を選択する.しかしながら、while、each、list関数の組み合わせを用いて配列を巡る効率はより高い.while,each,list関数を組み合わせて1次元配列を巡回する方法も簡単である.では、while、each、list関数の組み合わせを使用して2 D配列を巡るにはどうすればいいのでしょうか.
具体的なphpコードは以下の通りです.
array('ID'=>1,'name'=>'  ','company'=>'A  ','addr'=>'   ','phonenumber'=>'(010)98765432','email'=>'[email protected]'),
        'li'=>array('ID'=>2,'name'=>'  ','company'=>'B  ','addr'=>'   ','phonenumber'=>'(021)98765432','email'=>'[email protected]'),
	'ma'=>array('ID'=>3,'name'=>'  ','company'=>'C  ','addr'=>'   ','phonenumber'=>'(023)98765432','email'=>'[email protected]'),
	'fan'=>array('ID'=>4,'name'=>'  ','company'=>'D  ','addr'=>'   ','phonenumber'=>'(022)98765432','email'=>'[email protected]')
);

while(list($key,$value)=each($contact)){
	while(list($name,$info)=each($value)){
             echo $name.':'.$info.'
'; } echo "------------------------------------
"; } ?>

phpでwhile、each、list関数を組み合わせて2 D配列を巡る効果: