<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      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 少妇高潮太爽了在线视频