<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    PHP遍歷數組的6種方式總結

    導讀數組的遍歷是PHP一個常見的編程任務,而數組又分為一維數組、二維數組和多維數組,下面這篇文章主要給大家介紹了關于PHP遍歷數組的6種方式,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。

    目錄

    1、foreach

    2、array_map

    3、array_walk

    4、for

    5、each

    6、reset

    在PHP的日常操作中,數組是最常出現的結構,而我們幾乎每天都在處理數組相關的內容。那么問題來了,你一般怎么遍歷并處理數組。

    1、foreach

    很熟悉吧,是不是你的最愛?

    $arr?=?['a',?'b',?'c'];
    
    foreach?($arr?as?$key?=>?$value)?{
    ????$arr[$key]?=?$value?.?'_i';
    }
    
    print_r($arr);?//?['a_i',?'b_i',?'c_i'];
    2、array_map

    使用匿名函數的方式,處理數組里的每個元素。遍歷完成后返回一個新的數組

    $arr?=?['a',?'b',?'c'];
    
    $arr?=?array_map(function?($item)?{
    ????return?$item?.?'_i';
    },?$arr);
    
    print_r($arr);?//?['a_i',?'b_i',?'c_i'];

    你可以同時處理多個數組

    $arr_1?=?['a',?'b',?'c'];
    $arr_2?=?['你',?'好',?'嗎',?'原',?'罪'];
    //?$arr_n?=?[...];
    
    $arr?=?array_map(function?($item_1,?$item_2)?{
    ????return?$item_1?.?'_'?.?$item_2?.?'_i';
    },?$arr_1,?$arr_2);
    
    print_r($arr);?//?['a_你_i',?'b_好_i',?'c_嗎_i',?'_原_i',?'_罪_i']

    是的,遍歷的次數以最長的數組為準。

    遍歷3次之后,$arr_1 其實是完成了的,所以之后 $item_1 的值都是null3、array_walk

    以引用傳遞的形式遍歷你的數組,沒有返回值,而且只能處理一個數組。

    $arr?=?['a',?'b',?'c'];
    
    array_walk($arr,?function?(&$item)?{
    ????$item?=?$item?.?'_i';
    });
    
    print_r($arr);?//?['a_i',?'b_i',?'c_i'];

    注意到 &$item 了嗎,是的,多了個&,代表著你的形參是以引用傳遞接收數據的。你要做的就是想辦法改變這個參數。

    假如你處理的是二維數組,處理方式也是萬變不離其宗的。

    $arr?=?[
    ????['name'?=>?'a'],
    ????['name'?=>?'b'],
    ????['name'?=>?'c']
    ];
    
    array_walk($arr,?function?(&$item)?{
    ????$item['name']?=?$item['name']?.?'_i';
    });
    
    print_r($arr);?//?[['name'?=>?'a_i'],?['name'?=>?'b_i'],?['name'?=>?'c_i']];
    4、for

    這應該是超級通用的語法了

    $arr?=?['a',?'b',?'c'];
    
    for?($i?=?0;?$i?

    不推薦使用。它的效率比不上foreach。而且寫法上比foreach略繁瑣。

    5、each

    哈哈,這個函數在PHP7.2已經被廢棄了@deprecated,而且感覺特別古老的書寫方式。這種寫法的執行效率也不行,新手應該直接放棄。

    $arr?=?['a',?'b',?'c'];
    
    while?(list($key,?$value)?=?each($arr))?{
    ????$arr[$key]?=?$value?.?'_i';
    }
    
    print_r($arr);?//?['a_i',?'b_i',?'c_i'];
    6、reset

    準確的講并不止reset一個函數,需要組合多個內置函數,平常寫代碼基本是用不上的

    $arr?=?['a',?'b',?'c'];
    //?reset()?指針切換到頭部,其實默認就是指向開頭,可以忽略這句
    reset($arr);
    
    //?current()?獲取當前指針的元素值
    while?($value?=?current($arr))?{
    ????//?key()?獲取當前指針的元素下標
    ????$arr[key($arr)]?=?$value?.?'_i';
    ????//?next()?指針移到下一個
    ????next($arr);
    }
    
    print_r($arr);?//?['a_i',?'b_i',?'c_i'];
    總結

    到此這篇關于PHP遍歷數組的6種方式的文章就介紹到這了,希望大家以后多多支持好二三四!

    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    JS截取字符串的三種方法詳解 Python常用的正則表達式處理函數詳解 一文秒懂python正則表達式常用函數 python正則表達式語法學習筆記 Python&nbsp;垃圾回收機制詳解 Python實現城市公交網絡分析與可視化 Python數據分析處理(三)--運動員信息的分組與聚合 基于Python實現PDF區域文本提取工具 詳解python的循環 python實現新年倒計時實例代碼 Python實現消消樂小游戲 學習python的while循環嵌套 提升Python運行速度的5個小技巧 Python按鍵或值對字典進行排序 圖像檢索之基于vlfeat實現SIFT特征 python繪圖中的四個繪圖技巧 js中toString方法3個作用 信息系統項目管理師報考條件 信息系統項目管理師報考時間 信息系統項目管理師報名時間 php兩種基本的輸出方及實例詳解 php生成唯一uid的解決方法詳解 PHP7中對十六進制字符串處理的問題詳解 PHP對接抖音開發平臺接口的詳細教程 php7安裝mysqli實例講解 php去掉一維數組的鍵值的實例方法 PHP中empty()和isset()的區別介紹 PHP實現JWT的Token登錄認證 php判斷時間戳是否為今天實例講解 PHP7 preg_replace出錯及解決辦法 五年班的學習計劃怎么寫 五年級的學習計劃 初中新學期學習計劃怎么寫 關于英語的學習計劃怎么寫 怎么寫暑假學習計劃書 4年級數學學習計劃怎么寫 后半學期的學習計劃怎么寫 上學期學習計劃怎么寫 五年級的學習計劃書怎么寫 小學一年級學習計劃怎么寫 暑假學習計劃表怎么寫
    Top 国产成人精品日本亚洲网站| 久久99精品久久久久久齐齐| 精品国产这么小也不放过| 国产精品第一页第一页| 久久精品亚洲乱码伦伦中文| 国内精品自在自线视频| 亚洲精品视频专区| 国产自产拍精品视频免费看| 久久无码专区国产精品发布| 久久精品一区二区国产| 精品久久久久久无码中文野结衣| 91精品国产免费久久国语蜜臀| 国产精品亚洲专区在线播放| 国产精品天天看天天狠| 久久精品夜色噜噜亚洲A∨| 四虎国产精品成人免费久久| 久久er热视频在这里精品| 大香视频伊人精品75| 久久精品成人无码观看56| 国产精品制服丝袜| 久久久精品人妻久久影视| 日本精品卡一卡2卡3卡四卡| 精品久久久久一区二区三区| 国产精品毛片久久久久久久| 精品久久久无码人妻中文字幕| 精品无码久久久久久久久久| 91精品啪在线观看国产91九色| 柠檬福利精品视频导航| 国产亚洲精品无码拍拍拍色欲| 18国产精品白浆在线观看免费| 香蕉在线精品一区二区| 国产高清国内精品福利99久久| 国产精品免费网站| 亚洲精品美女在线观看播放| 久久久精品人妻一区二区三区四| 无码人妻一区二区三区精品视频| 精品国产线拍大陆久久尤物| 91精品视频在线免费观看| 99热这里有免费国产精品| 国产在线91精品入口| 国产精品美女久久久久av超清|