PHP中如何提取多維數(shù)組指定列-創(chuàng)新互聯(lián)

這篇文章主要介紹PHP中如何提取多維數(shù)組指定列,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、洪山ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的洪山網(wǎng)站制作公司

前言:有時(shí)候在開發(fā)中會(huì)遇到這樣的問題,我們需要把有規(guī)律的多維數(shù)組按照縱向(列)取出,有下面的方法可用:

我們將拿下面的數(shù)組來處理:


$arr = array(
  '0' => array('id' => 1, 'name' => 'name1'),
  '1' => array('id' => 2, 'name' => 'name2'),
  '2' => array('id' => 3, 'name' => 'name3'),
  '3' => array('id' => 4, 'name' => 'name4'),
  '4' => array('id' => 5, 'name' => 'name5'),
);

//需要得到的結(jié)果:$name_list = array('name1', 'name2', 'name3', 'name4', 'name5');

1、使用array_column()

PHP在5.5.0版本之后,添加了一個(gè)專用的函數(shù)array_column()

方法:


$name_list = array_column($arr, 'name');

2、array_walk()方法

array_walk()使用用戶自定義函數(shù)對數(shù)組中的每個(gè)元素做回調(diào)處理


$name_list = array();
array_walk($arr, function($value, $key) use (&$name_list ){
$name_list [] = $value['name'];
});

3、array_map()方法

array_map()函數(shù)和array_walk() 作用類似,將回調(diào)函數(shù)作用到給定數(shù)組的單元上

 $name_list = array();
 array_map(function($value) use (&$name_list){
   $name_list[] = $value['name'];
 }, $arr);

4、foreach循環(huán)遍歷方法

foreach()循環(huán)相對上面的方法效率稍微低一些

 $name_list = array();
 foreach ($arr as $value) {
   $name_list[] = $value['name'];
 }

5、array_map變種

把$arr數(shù)組的每一項(xiàng)值的開頭值移出,并獲取移除的值作為新數(shù)組。注意此時(shí)新數(shù)組$name_list的鍵仍是原數(shù)組$arr的鍵

 $name_list = array_map('array_shift', $arr);
 //注意:該功能會(huì)獲取$arr中的 id 列,而不是name 列。
 //另外,如果需要獲取二維數(shù)組每一項(xiàng)的開頭列或結(jié)尾列,也可以這樣做:
 
 $name_list = array_map('reset', $arr);
 $name_list = array_map('end', $arr);
 
 //這三個(gè)變種方法作用比較局限,僅在獲取第一列或最后一列的時(shí)候有用,在
 //復(fù)雜的數(shù)組中就難以發(fā)揮作用了。

以上是“PHP中如何提取多維數(shù)組指定列”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

名稱欄目:PHP中如何提取多維數(shù)組指定列-創(chuàng)新互聯(lián)
當(dāng)前地址:http://bm7419.com/article2/diceic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄手機(jī)網(wǎng)站建設(shè)、虛擬主機(jī)網(wǎng)站營銷、域名注冊、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)