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