摘要:中對(duì)多維數(shù)組特定列的提取,是個(gè)很常用的功能,正因?yàn)槿绱?,在版本之后,添加了一個(gè)專用的函數(shù)。變種方法如下,意為把數(shù)組的每一項(xiàng)值的開頭值移出,并獲取移除的值作為新數(shù)組。注意此時(shí)新數(shù)組的鍵仍是原數(shù)組的鍵,如下。
PHP中對(duì)多維數(shù)組特定列的提取,是個(gè)很常用的功能,正因?yàn)槿绱耍琍HP在5.5.0版本之后,添加了一個(gè)專用的函數(shù)array_column()。當(dāng)然,如果你的PHP版本低于5.5.0,就得用別的方法處理了。
例如,對(duì)于以下這個(gè)數(shù)組:
$user = array(
"0" => array("id" => 100, "username" => "a1"), "1" => array("id" => 101, "username" => "a2"), "2" => array("id" => 102, "username" => "a3"), "3" => array("id" => 103, "username" => "a4"), "4" => array("id" => 104, "username" => "a5"),
);
我們要提取其中的 usename 列,變成:
$username = array("a1", "a2", "a3", "a4", "a5");
方法有以下幾種。
1 array_column函數(shù)法
這是最簡(jiǎn)單的方法,但是要求PHP版本必須是5.5.0及以上版本,方法:
$username = array_column($user, "username");
2 array_walk函數(shù)法
array_walk()函數(shù)使用用戶自定義函數(shù)對(duì)數(shù)組中的每個(gè)元素做回調(diào)處理,實(shí)現(xiàn)當(dāng)前功能的方法:
$username = array();
array_walk($user, function($value, $key) use (&$username){
$username[] = $value["username"];
});
3 array_map函數(shù)法
array_map()函數(shù)和array_walk() 作用類似,將回調(diào)函數(shù)作用到給定數(shù)組的單元上。
$username = array();
array_map(function($value) use (&$username){
$username[] = $value["username"];
}, $user);
4 foreach循環(huán)法
foreach循環(huán)相對(duì)上面的方法效率稍微低一些,但簡(jiǎn)單容易理解。
$username = array();
foreach ($user as $value) {
$username[] = $value["username"];
}
5 array_map變種
方法如下,意為把$user數(shù)組的每一項(xiàng)值的開頭值移出,并獲取移除的值作為新數(shù)組。注意此時(shí)新數(shù)組$username的鍵仍是原數(shù)組$user的鍵,如下。
$username = array_map("array_shift", $user);
注意:該功能會(huì)獲取$user中的 id 列,而不是 username 列。
另外,如果需要獲取二維數(shù)組每一項(xiàng)的開頭列或結(jié)尾列,也可以這樣做:
$username = array_map("reset", $user);
$username = array_map("end", $user);
這三個(gè)變種方法作用比較局限,僅在獲取第一列或最后一列的時(shí)候有用,在復(fù)雜的數(shù)組中就難以發(fā)揮作用了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25730.html
摘要:在下面的例子中,我們創(chuàng)建了一個(gè)二維數(shù)組并插入了兩列輸出如果沒(méi)有使用參數(shù),則會(huì)輸出這就是數(shù)組結(jié)構(gòu)的扁平化。下面的例子中我們從二維數(shù)組中刪除了一行輸出在方法中,首先給出數(shù)組,然后給出要?jiǎng)h除的元素的索引。數(shù)組被傳遞給函數(shù)。 NumPy 是一個(gè)Python 庫(kù),用于 Python 編程中的科學(xué)計(jì)算。在本教程中,你將學(xué)習(xí)如何在 NumPy 數(shù)組上以多種方式添加、刪除、排序和操作元素。 NumPy...
摘要:在下面的例子中,我們創(chuàng)建了一個(gè)二維數(shù)組并插入了兩列輸出如果沒(méi)有使用參數(shù),則會(huì)輸出這就是數(shù)組結(jié)構(gòu)的扁平化。下面的例子中我們從二維數(shù)組中刪除了一行輸出在方法中,首先給出數(shù)組,然后給出要?jiǎng)h除的元素的索引。數(shù)組被傳遞給函數(shù)。 NumPy 是一個(gè)Python 庫(kù),用于 Python 編程中的科學(xué)計(jì)算。在本教程中,你將學(xué)習(xí)如何在 NumPy 數(shù)組上以多種方式添加、刪除、排序和操作元素。 NumPy...
摘要:要執(zhí)行忽略大小寫的檢索,請(qǐng)追加標(biāo)志。八提取字符串的片斷,并在新的字符串中返回被提取的部分。九把字符串分割為字符串?dāng)?shù)組。十一把字符串轉(zhuǎn)換為大寫。十四從起始索引號(hào)提取字符串中指定數(shù)目的字符。。子串中的字符數(shù)。新增的操作字符串的方法一 一、charAt() 返回在指定位置的字符。 var str=abc console.log(str.charAt(0))//a 二、charCodeAt(...
摘要:將返回通過(guò)回調(diào)真值測(cè)試的第一個(gè)項(xiàng)的鍵。方法將集合分割為多個(gè)給定大小的較小集合。它可用于在任何位置的調(diào)試和查找集合內(nèi)的內(nèi)容。方法用于遍歷整個(gè)集合。這對(duì)集合同樣有效。它將導(dǎo)致由第二個(gè)參數(shù)的值作為鍵的集合。它接受回調(diào)并傳遞并將集合傳遞給它。 showImg(https://segmentfault.com/img/remote/1460000018924972); 文章轉(zhuǎn)自:https://...
摘要:提供了使我們能夠快速便捷地處理結(jié)構(gòu)化數(shù)據(jù)的大量數(shù)據(jù)結(jié)構(gòu)和函數(shù)。結(jié)構(gòu)化數(shù)據(jù),例如多維數(shù)據(jù)矩陣表格行數(shù)據(jù),其中各列可能是不同的類型字符串?dāng)?shù)值日期等。基礎(chǔ)數(shù)組和矢量計(jì)算高性能科學(xué)計(jì)算和數(shù)據(jù)分析的基礎(chǔ)包。 本篇內(nèi)容為整理《利用Python進(jìn)行數(shù)據(jù)分析》,博主使用代碼為 Python3,部分內(nèi)容和書本有出入。 利用 Python 進(jìn)行科學(xué)計(jì)算的實(shí)用指南。本書重點(diǎn)介紹了用于高效解決各種數(shù)據(jù)分析問(wèn)...
閱讀 2759·2021-11-16 11:45
閱讀 1666·2021-09-26 10:19
閱讀 2062·2021-09-13 10:28
閱讀 2821·2021-09-08 10:46
閱讀 1547·2021-09-07 10:13
閱讀 1542·2019-08-30 13:50
閱讀 1383·2019-08-30 11:17
閱讀 1463·2019-08-29 13:18