您好,登錄后才能下訂單哦!
一、for與foreach遍歷結果順序一致
$arr = array('max','xiaoli','xiaowang','laosan');
//for遍歷
for($i=0;$i<count($arr);$i++){
echo $arr[$i];//max xiaoli xiaowang laosan
}
//foreach遍歷
foreach($arr as $item){
echo $item;//max xiaoli xiaowang laosan
}
二、for與foreach遍歷結果不一致
$arr = array();
$arr[]='max';
$arr[2] ='xiaoli';
$arr[]='xiaowang';
$arr[1]='laosan';
//for遍歷
for($i=0;$i<count($arr);$i++){
echo $arr[$i];//max laosan xiaoli xiaowang
}
//foreach遍歷
foreach($arr as $item){
echo $item;//max xiaoli xiaowang laosan
}
$arr = array(
'name'=>'max',
'age'=>18,
'address'=>'北京'
);
//for遍歷
for($i=0;$i<count($arr);$i++){
echo $arr[$i];//undefined offset 0 1 2(未定義下標,無法讀取)
}
//foreach遍歷
foreach($arr as $item){
echo $item;//max 18 北京
}
$arr = array(
array('name','age','address'),
array('北京','上海','深圳')
);
//按順序輸出
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr[$i]);$j++){
echo $arr[$i][$j];//name age address 北京 上海 深圳
}
//echo $arr[$i];
}
//foreach遍歷
foreach($arr as $item){
foreach($item as $o){
echo $o;//name age address 北京 上海 深圳
}
}
$arr = array(
array('name'=>'max','age'=>18,'address'=>'beijing'),
array('city'=>'beijing','area'=>'haidian')
);
//for遍歷
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr[$i]);$j++){
echo $arr[$i][$j];//undefind offset (沒有定義下標)
}
}
//foreach遍歷
foreach($arr as $item){
foreach($item as $o){
echo $o;//max 18 beijing beijing haidian
}
}
PHP數組是一種hash表,hash表的一個特點就是查詢速度快。
關聯數組之所以無法用for循環的遍歷,是因為在hash表中并不是按順序存儲的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。