解析PHP之提取多維數(shù)組指定列的方法
前言:有時(shí)候在開發(fā)中會遇到這樣的問題,我們需要把有規(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);
//注意:該功能會獲取$arr中的 id 列,而不是name 列。
//另外,如果需要獲取二維數(shù)組每一項(xiàng)的開頭列或結(jié)尾列,也可以這樣做:
$name_list = array_map('reset', $arr);
$name_list = array_map('end', $arr);
//這三個(gè)變種方法作用比較局限,僅在獲取第一列或最后一列的時(shí)候有用,在
//復(fù)雜的數(shù)組中就難以發(fā)揮作用了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- PHP 多維數(shù)組的排序問題 根據(jù)二維數(shù)組中某個(gè)項(xiàng)排序
- array_multisort實(shí)現(xiàn)PHP多維數(shù)組排序示例講解
- PHP中多維數(shù)組的foreach遍歷示例
- 解析PHP將對象轉(zhuǎn)換成數(shù)組的方法(兼容多維數(shù)組類型)
- php簡單實(shí)現(xiàn)多維數(shù)組排序的方法
- php實(shí)現(xiàn)在多維數(shù)組中查找特定value的方法
- php根據(jù)某字段對多維數(shù)組進(jìn)行排序的方法
- PHP foreach遍歷多維數(shù)組實(shí)現(xiàn)方式
- php計(jì)算多維數(shù)組中所有值總和的方法
- PHP多維數(shù)組轉(zhuǎn)一維數(shù)組的簡單實(shí)現(xiàn)方法
- PHP實(shí)現(xiàn)提取多維數(shù)組指定一列的方法總結(jié)
相關(guān)文章
PHP調(diào)用API接口實(shí)現(xiàn)天氣查詢功能的示例
下面小編就為大家?guī)硪黄狿HP調(diào)用API接口實(shí)現(xiàn)天氣查詢功能的示例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
分享8個(gè)Laravel模型時(shí)間戳使用技巧小結(jié)
這篇文章主要介紹了分享8個(gè)Laravel模型時(shí)間戳使用技巧小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

