數(shù)組遍歷

for循環(huán)遍歷數(shù)組:

使用for遍歷數(shù)組

保證數(shù)組: 一定要是下標連續(xù)的索引數(shù)組

優(yōu)點:效率很高, 就是數(shù)組訪問方式, 只不過通過循環(huán)去取值

count(數(shù)組) 獲取數(shù)組的長度, 是數(shù)組的實際元素的個數(shù)

不足:數(shù)組下標不一定是連續(xù)的

關聯(lián)數(shù)組for循環(huán)不能遍歷出值

$arr = array("aa", "bb", "cc", "dd", "ee", "ff", "ggg", "hh");

    $nums = count($arr);

    for($i=0; $i < $nums; $i++) {
        echo $arr[$i].'<br>';

    }

缺點:for循環(huán)遍歷不出9及后面的數(shù)組,count為8

$arr = array("aa", "bb", "cc", "dd", 9=>"ee", "ff", "ggg", "hh");

$nums = count($arr);   //8

$nums = 13;

for($i=0; $i < $nums; $i++) {
    echo $arr[$i].'<br>';

}

foreach()語法遍歷數(shù)組:

foreach(數(shù)組 as 自定義變量) {

}

數(shù)組有多少個元素秫舌, foreach就循環(huán)多少次

foreach會將數(shù)組中的元素 在每次循環(huán)中的妖,依次將元素的值給自定義的變量,在每次循環(huán)中用到這個變量足陨,即用到了當前的數(shù)組中的元素

foreach(數(shù)組 as 下標變量 => 值變量) {

}

PS:默認下標從0開始嫂粟,若給了鍵,則從鍵開始下標+1

$arr = array("one"=>"aa", "bb", "three"=>"cc", "dd", 9=>"ee", "ff", "four"=>"ggg", "hh", "xxx", "yyy", "zz");

方法1:只遍歷值

    foreach($arr as $value){
        echo "{$value}<br>";
    }
方法二:遍歷鍵和值

    foreach ($arr as $kk => $vv) {
        echo "{$kk}======>{$vv}<br>";
    }

foreach遍歷數(shù)組應用:

實現(xiàn)將數(shù)組遍歷到表格內(nèi)

<?php
$group=[      "name"=>"第三組",
              "price"=>8888,
              ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
              ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
              ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
      ];

      echo '<table border="1" width="800" align="center">';
      echo '<caption><h1>數(shù)組轉(zhuǎn)為表格<h1></caption>';

      foreach ($group as $k=> $row) {
        echo '<tr>';
        if(is_array($row)){
        foreach ($row as $col) {
        echo '<td>'.$col.'</td>';
      }
      }else{
        echo'<td colspan="4">'.$k.':'.$row.'</td>';
      }
        echo '</tr>';
      }
      echo '</table>';

list函數(shù)遍歷:

list() 函數(shù) 但這個函數(shù)和其它函數(shù)用法不同

作用: 將數(shù)組中的元素轉(zhuǎn)為變量使用

1.等號左邊使用list()函數(shù)墨缘, 等號右邊只能是一個數(shù)組
2.數(shù)組中有幾個元素星虹,在list()中就用幾個參數(shù),而且參數(shù)必數(shù)是變量(新聲明的自定義變量)镊讼,不能是值
3.只能將索引數(shù)組(下標是連續(xù))宽涌, 轉(zhuǎn)為變量, 是按下標0開始找的
4.可以在list()參數(shù)中通過,空項選擇性的接收數(shù)組中的元素

    <?php
    //list以空參數(shù)接收第二個元素
     list($a, ,$c)=array("龍哥","小弟","小二");

     echo $a."<br>";
     // echo $b."<br>";
     echo $c."<br>";
    //用list分割字符串狠毯,explode分割护糖。
    $str="龍哥_好帥";
    list($name,$pro)=explode("_",$str);

    echo $name.'<br>';
    echo $pro.'<br>';

each()函數(shù)特性:

each()只是一個函數(shù)褥芒,參數(shù)就是一個數(shù)組作為參數(shù)嚼松,返回的值,也是一個數(shù)組

1.返回的值是一個數(shù)組锰扶,數(shù)組固定有4個元素献酗,而且下標也是固定的(1(值) value(值)(0(下標) key(下標))
2.each()只處理當前的元素將當前的元素(默認當前元素是第一元素,指針指向第一個)轉(zhuǎn)為數(shù)組信息坷牛,處理完后罕偎,指針向下一個元素移動
3.如果指定已經(jīng)在結(jié)束位置了,如果在使用each()獲取元素京闰,返回false

<?php

$arr=["one"=>"龍哥","小弟","小二"];
//1和value都是輸出值颜及,0和key輸出都是下標,下邊代碼只能輸出第一個元素蹂楣,
// $one=each ($arr);
// echo $one['key'].'=>'.$one['value'].'<br>';
// echo $one[0].'=>'.$one[1].'<br>';
echo '<pre>';
//重復使用多次命令俏站,才能全部輸出
$one=each($arr);
print_r($one);

$one=each($arr);
print_r($one);

$one=each($arr);
print_r($one);
//數(shù)組元素已經(jīng)沒了,在輸出只能返回false
$one=each($arr);
var_dump($one);
echo '</pre>';

使用list()痊土、each()和while循環(huán)遍歷數(shù)組:

<?php

$arr=["one"=>"龍哥","小弟","小二","four","five"];
while(list($key,$val)=each($arr)){
    // echo '<pre>';
    // print_r($tmp);
    // echo '</pre>';
    // echo "{$tmp['key']}=>{$tmp['value']}<br>";
    // echo "{$tmp['0']}=>{$tmp['1']}<br>";
    echo "{$key}=>{$val}<br>";
    echo '<br>';
}

使用數(shù)組的內(nèi)部指針控制函數(shù)遍歷數(shù)組:

控制指定的位置

next(); //下一個
prev(); //上一個
reset();//第一個
end(); //最后一個
each(); --- next()
key() 獲取當前下標
current() 獲取當前的值

$arr =array("one"=>"龍哥","two"=>"小弟","three"=>"觀眾","four"=>"小四","5"=>"five");

// next($arr);
// next($arr);
// next($arr);

end($arr);
prev($arr);
reset($arr);

echo "當前的位置(默認在第一個):".key($arr)."=>".current($arr)."<br>";
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肄扎,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌犯祠,老刑警劉巖旭等,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異衡载,居然都是意外死亡搔耕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門月劈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來度迂,“玉大人,你說我怎么就攤上這事猜揪〔涯梗” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵而姐,是天一觀的道長腊凶。 經(jīng)常有香客問我,道長拴念,這世上最難降的妖魔是什么钧萍? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮政鼠,結(jié)果婚禮上风瘦,老公的妹妹穿的比我還像新娘。我一直安慰自己公般,他們只是感情好万搔,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著官帘,像睡著了一般瞬雹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刽虹,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天酗捌,我揣著相機與錄音,去河邊找鬼涌哲。 笑死胖缤,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的阀圾。 我是一名探鬼主播哪廓,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼稍刀!你這毒婦竟也來了撩独?” 一聲冷哼從身側(cè)響起敞曹,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎综膀,沒想到半個月后澳迫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡剧劝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年橄登,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讥此。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡拢锹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萄喳,到底是詐尸還是另有隱情卒稳,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布他巨,位于F島的核電站充坑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏染突。R本人自食惡果不足惜捻爷,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望份企。 院中可真熱鬧也榄,春花似錦、人聲如沸司志。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽俐芯。三九已至棵介,卻和暖如春钉鸯,著一層夾襖步出監(jiān)牢的瞬間吧史,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工唠雕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贸营,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓岩睁,卻偏偏與公主長得像钞脂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捕儒,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容