<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 九九在线精品视频专区| 孩交精品xxxx视频视频| 久久成人精品视频| 精品99在线观看| 久久一区二区精品| 精品久久久久久久99热| 国产中文在线亚洲精品官网| 最新国产精品视频| 国产四虎免费精品视频| 一区二区精品在线| 国产精品天干天干综合网| 国产精品JIZZ在线观看老狼| 国产精品无码制服丝袜| 日本午夜精品一区二区三区电影| 精品久久久久久无码人妻蜜桃| 日韩精品亚洲专区在线影视| 久久夜色精品国产噜噜亚洲a| 999精品久久久中文字幕蜜桃| 黑人大战亚洲人精品一区| 亚洲国产精品碰碰| 伦精品一区二区三区视频| 99ri在线精品视频| 午夜精品久久久久久久| 午夜精品一区二区三区在线视 | 午夜精品福利在线| 国产精品美女久久久久网| 99久久免费中文字幕精品| 亚洲精品视频久久久| 人妻偷人精品成人AV| 日韩精品一区二区午夜成人版| 国产精品久久久久久久久齐齐| 色综合91久久精品中文字幕| 久久久精品人妻久久影视| 久久综合久久自在自线精品自| 久久中文字幕2021精品| 久久久免费的精品| 老汉精品免费AV在线播放| 久久久精品2019免费观看| 精品无码国产污污污免费网站| 色噜噜亚洲精品中文字幕| 国产成人精品一区二区三区无码 |