# PHP提取多维数组指定一列的要领大全【php教程】 PHP中对多维数组特定列的提取，是个很经常运用的功用，正因为如此，PHP在5.5.0版本以后，添加了一个专用的函数array_column()。固然，假如你的PHP版本低于5.5.0，就得用别的要领处置惩罚了。

```\$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'),
);```

`\$username = array('a1', 'a2', 'a3', 'a4', 'a5');`

1 array_column函数法

`\$username = array_column(\$user, 'username');`

2 array_walk函数法

array_walk()函数运用用户自定义函数对数组中的每一个元素做回调处置惩罚，完成当前功用的要领：

```\$username = array();
});```

3 array_map函数法

array_map()函数和array_walk() 作用相似，将回调函数作用到给定数组的单位上。

```\$username = array();
}, \$user);```

```/**
* 猎取二维数组指定的一列，并以一维数组花样返回
* 作用和PHP5.5.0中的array_column()函数一样
* @param \$input array 须要掏出数组列的多维数组（或效果集）
* @param \$column_key string 须要返回值的列，它可所以索引数组的列索引，或许是关联数组的列的键。 也可所以NULL，此时将返回全部数组
* @param \$index_key string 作为返回数组的索引/键的列，它可所以该列的整数索引，或许字符串键值。
* @return array|null
*/
function array_column(\$input, \$column_key, \$index_key = null) {
\$arr = array_map(function(\$d) use (\$column_key, \$index_key) {
if (!isset(\$d[\$column_key])) {
return null;
}
if (\$index_key !== null) {
return array(\$d[\$index_key] => \$d[\$column_key]);
}
return \$d[\$column_key];
}, \$input);
if (\$index_key !== null) {
\$tmp = array();
foreach (\$arr as \$ar) {
\$tmp[key(\$ar)] = current(\$ar);
}
\$arr = \$tmp;
}
return \$arr;
}```

4 foreach轮回法

foreach轮回相对上面的要领效力轻微低一些，但简朴轻易明白。

```\$username = array();
foreach (\$user as \$value) {
}```

5 array_map变种

`\$username = array_map('array_shift', \$user);`

```\$username = array_map('reset', \$user);
{"ft_lang_label":"__label__zh","ft_lang_prob":0.5268115,"math_prob":0.9521585,"size":2295,"snap":"2021-43-2021-49","text_gpt3_token_len":1191,"char_repetition_ratio":0.19685727,"word_repetition_ratio":0.017699115,"special_character_ratio":0.3416122,"punctuation_ratio":0.18649517,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9727336,"pos_list":[0,1,2],"im_url_duplicate_count":[null,4,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2021-12-03T13:23:57Z\",\"WARC-Record-ID\":\"<urn:uuid:7a459ac7-f5a9-4a41-8c78-d05ff38bbe59>\",\"Content-Length\":\"22220\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:7228808b-9249-4174-b8da-6a936c7c0928>\",\"WARC-Concurrent-To\":\"<urn:uuid:f45f6391-432b-429e-86e8-8da9bb67f977>\",\"WARC-IP-Address\":\"8.142.93.154\",\"WARC-Target-URI\":\"https://www.sosophp.cn/5972.html\",\"WARC-Payload-Digest\":\"sha1:R3XBSANO27YJY4IZLZ3SEYVNWUL3OEVM\",\"WARC-Block-Digest\":\"sha1:7AWOANMQL6ISZVEZHVMYCQXKLMF3YM75\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2021/CC-MAIN-2021-49/CC-MAIN-2021-49_segments_1637964362879.45_warc_CC-MAIN-20211203121459-20211203151459-00203.warc.gz\"}"}