php遍歷多維數組
⑴ php中遍歷二維數組的幾種方式
?php
//使用for循環遍歷
$arr2=array(array("張三","20","男"),array("李四","25","男"),array("王五","19","女"),array("趙六","25","女"));
echo"<tableborder=2bordercolor=red><tr><td>姓名</td><td>年齡</td><td>性別</td></tr>";
for($i=0;$i<4;$i++){
echo"<tr>";
for($j=0;$j<3;$j++){
echo"<td>";
echo$arr2[$i][$j];
echo"</td>";
}
echo"</tr>";
echo"<br>";
}
echo"</table>";
?>
//使用foreach遍歷
<?php
$arr=array('one'=>array('name'=>'張三','age'=>'23','sex'=>'男'),
'two'=>array('name'=>'李四','age'=>'43','sex'=>'女'),
'three'=>array('name'=>'王五','age'=>'32','sex'=>'男'),
'four'=>array('name'=>'趙六','age'=>'12','sex'=>'女'));
foreach($arras$k=>$val){
echo$val['name'].$val['age'].$val['sex']."<br>";
}
echo"<p>";
?>
<?php
$arr=array('one'=>array('name'=>'張三','age'=>'23','sex'=>'男'),
'two'=>array('name'=>'李四','age'=>'43','sex'=>'女'),
'three'=>array('name'=>'王五','age'=>'32','sex'=>'男'),
'four'=>array('name'=>'趙六','age'=>'12','sex'=>'女'));
foreach($arras$key=>$value){
foreach($valueas$key2=>$value2){
echo$value2;
}
echo"<br>";
}
?>
⑵ PHP 遍歷多維數組,獲取指定的值
function getKey($arr,$key){
return is_array($arr[$key])?implode(',',$arr[$key]):$arr[$key];
}
$arr=Array ( 'name'=>'張三',
Array('phone' => Array('188','177','166')),
Array('sex' => '男') );
echo getKey($arr,'name');
echo getKey($arr,'phone');
⑶ php中二維甚至多維數組遍歷怎麼使用while-list—each呢
今天剛好遇到這個問題,發現書上的例子while-list—each遍歷多維數組並沒有說到,自己剛開始嘗試時候都沒有成功,後來琢磨了下,發現代碼是這樣的
下面以三維數組為例:
<?php
$array=array(
array(
array('1','張三','A公司','北京市','01012345678','[email protected]'),
array('2','李四','B公司','天津市','02012345678','[email protected]'),
array('3','王五','C公司','上海市','02112345678','[email protected]')
),
array(
array('1','張三','市場部','5000'),
array('2','李四','客服部','4000'),
array('3','王五','售後部','3000'),
array('4','馬六','行政部','2000')
),
array(
array('1','張三','市場部經理'),
array('2','李四','客服部經理'),
array('3','王五','售後部經理'),
array('4','馬六','行政部經理')
)
);
/**
while遍歷數組
**/
while(list($a,$b)=each($array)){
while(list($c,$d)=each($b)){
while(list($name,$value)=each($d)){
echo$name.' : '.$value.'<br/>';
}
echo'------------------------------<br/>';
}
}
?>
執行結果:
0:1
1:張三
2:A公司
3:北京市
4:01012345678
5:[email protected]
------------------------------
0:2
1:李四
2:B公司
3:天津市
4:02012345678
5:[email protected]
------------------------------
0:3
1:王五
2:C公司
3:上海市
4:02112345678
5:[email protected]
------------------------------
0:1
1:張三
2:市場部
3:5000
------------------------------
0:2
1:李四
2:客服部
3:4000
------------------------------
0:3
1:王五
2:售後部
3:3000
------------------------------
0:4
1:馬六
2:行政部
3:2000
------------------------------
0:1
1:張三
2:市場部經理
------------------------------
0:2
1:李四
2:客服部經理
------------------------------
0:3
1:王五
2:售後部經理
------------------------------
0:4
1:馬六
2:行政部經理
------------------------------
⑷ php用foreach遍歷二維數組
$myArr=array("fruit"=>array("apple","orange","grape"),"animal"=>array("dog","pig","cat"));
foreach($myArr as $key=>$val) {
echo $key.":";
foreach($val as $index=>$content) {
echo $content." ";
}
echo "<br/>";
}
⑸ PHP多維數組遍歷方法(2種實現方法)
本文實例講述了PHP多維數組遍歷方法。分享給大家供大家參考,具體如下:
方法一:
$a=array('fruits'=>array('a'=>'orange',
'b'=>'grape',c=>'apple'),
'numbers'=>array(1,2,3,4,5,6),
'holes'=>array('first',5=>'second','third')
);
foreach($a
as
$list=>$things){
if(is_array($things)){
foreach($things
as
$newlist=>$counter){
echo
"key:".$newlist."<br/>"."value:".$counter."<br/>";
}
}
}
方法二:
function
MulitarraytoSingle($array){
$temp=array();
if(is_array($array)){
foreach
($array
as
$key=>$value
)
{
if(is_array($value)){
MulitarraytoSingle($value);
}
else{
$temp[]=$value;
}
}
}
}
希望本文所述對大家PHP程序設計有所幫助。
⑹ php一個三維數組foreach如何遍歷
數組遍歷就用foreach了。三維只是遍歷三次而已。原理是一樣。比如
$arr=array(array(array(1)));
foreach($arras$key=>$value){
foreach($valueas$k=>$v){
foreach($vas$k3=>$v3){
var_mp($v3);
}
}
}
//最後輸出的就是最裡面的1了
⑺ PHP遍歷多維數組
你的意思是用戶輸入nickname比如輸'user2'然後你這邊取user2對應的password嗎?
$data=[
'user'=>[
""=>[
"nickname"=>"user1",
"userName"=>"username",
"passWord"=>"password",
"status"=>1,
],
""=>[
"nickname"=>"user2",
"userName"=>"username",
"passWord"=>"password",
"status"=>1,
],
]
];
//第一種情況是user數組里有多個叫user2的nickname,這樣查出的password也會有多個,所以就需要循環來處理了
$nickname='user2';//這里是用戶輸入的值
$password=[];
foreach($data['user']as$val){
if($val['nickname']==$nickname){
$password[]=$val['passWord'];
}
}
print_r($password);
//第二情況就是user數組里只會有一個叫user2的nickname,這樣只會查出一個password
$nickname='user2';//這里是用戶輸入的值
$user=array_column($data['user'],null,'nickname');
$password=$user[$nickname]['passWord'];
echo$password;
⑻ PHP如何遍歷這個簡單樣式的三維數組數組,如何操作
假如你的數組叫做$arr,下面的代碼數出你需要的:
<?php
$n=count($arr[1]);
$m=count($arr);
for ($i=0;$i<$n;$i++){
for ($j=1;$j<$m;$j++) echo $arr[$j][$i];
echo '<br>';
}
?>