我可能错误地提出了这个问题,请随时编辑以获得更好的版本。
我正在寻找一种方法:
我有一个数组如:
$ray=array();
$ray[0] = array();
$ray[0]['id'] = "1";
$ray[0]['name'] = "lorem";
$ray[1] = array();
$ray[1]['id'] = "2";
$ray[1]['name'] = "ipsum";
我希望获得一系列名称,以便
$names[0] = "lorem"
$names[1] = "ipsum"
我想我可以通过foreach
手动创建数组来做到这一点,但我想知道是否有内置函数。
感谢您的帮助!
答案 0 :(得分:5)
版本PHP 4> =
$finalarray = array_map(create_function('$yourarray', 'return $yourarray["arrayindex"];'), $actualarray );
答案 1 :(得分:1)
如果您没有高级功能,这应该按预期工作:
<?php
$ray = array(
array(
'id' => "1",
'name' => "Lorem"
),
array(
'id' => "1",
'name' => "Ipsum"
)
);
$res = array();
foreach ($ray as $val) {
$res[] = $val['name'];
}
print_r ($res);
?>
答案 2 :(得分:1)
根据您的问题,我可以看到2个选项
一种是返回一个新数组并将id保留在新数组中
$output = array();
foreach ($ray as $key => $value) {
$output[$value['id']] = $value['name'];
}
两个你不关心id,只需要名字
$output = array();
foreach ($ray as $key => $value) {
$output[$key] = $value['name'];
}