我有一个数组数组,具有以下结构:
array(array('page' => 'page1', 'name' => 'pagename1')
array('page' => 'page2', 'name' => 'pagename2')
array('page' => 'page3', 'name' => 'pagename3'))
Run Code Online (Sandbox Code Playgroud)
是否有内置函数将返回一个只包含'name'键值的新数组?所以我得到:
array('pagename1', 'pagename2', 'pagename3')
Run Code Online (Sandbox Code Playgroud)
Joh*_*nde 52
截至PHP 5.5你可以使用array_column():
<?php
$samples=array(
array('page' => 'page1', 'name' => 'pagename1'),
array('page' => 'page2', 'name' => 'pagename2'),
array('page' => 'page3', 'name' => 'pagename3')
);
$names = array_column($samples, 'name');
print_r($names);
Run Code Online (Sandbox Code Playgroud)
Ant*_*nna 16
为什么它必须是内置函数?不,没有,写自己的.
这是一个很好的和简单的,而不是这个线程中的其他人.
$namearray = array();
foreach ($array as $item) {
$namearray[] = $item['name'];
}
Run Code Online (Sandbox Code Playgroud)
fue*_*sjr 12
这是一种功能性的方法:
$data = array(
array('page' => 'page1', 'name' => 'pagename1'),
array('page' => 'page2', 'name' => 'pagename2'),
array('page' => 'page3', 'name' => 'pagename3'));
$result = array_map(create_function('$arr', 'return $arr["name"];'), $data);
print_r($result);
Run Code Online (Sandbox Code Playgroud)
好吧有.至少对于PHP> 5.5.0并且它被称为array_column
PHP函数采用一个可选$index_key参数 - 根据PHP网站 - 声明:
$index_key用作返回数组的索引/键的列.此值可以是列的整数键,也可以是字符串键名
在这里的答案中,我看到一个没有可选参数的剥离版本.我需要它,所以,这是完整的功能:
if (!function_exists('array_column')) {
function array_column($array, $column, $index_key = null) {
$toret = array();
foreach ($array as $key => $value) {
if ($index_key === null){
$toret[] = $value[$column];
}else{
$toret[$value[$index_key]] = $value[$column];
}
}
return $toret;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21057 次 |
| 最近记录: |