北京 ..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP數(shù)組遍歷與實現(xiàn)原理

發(fā)布時間:2020-07-24 06:38:43 來源:網(wǎng)絡 閱讀:443 作者:沙耶博士 欄目:web開發(fā)

一維數(shù)組遍歷(普通)

一、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
}

一維數(shù)組遍歷(關聯(lián))

$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 北京
}

二維數(shù)組遍歷(普通)

$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 北京 上海 深圳
    }
}

二維數(shù)組遍歷(關聯(lián))

$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
    }
}

實現(xiàn)原理

PHP數(shù)組是一種hash表,hash表的一個特點就是查詢速度快。

關聯(lián)數(shù)組之所以無法用for循環(huán)的遍歷,是因為在hash表中并不是按順序存儲的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI