将2个数组字段保存为新数组?

时间:2014-02-14 11:39:38

标签: php arrays

我的问题似乎很简单,我可能会遗漏一些东西。我需要将一个名为$data1的数组中的2个字段保存为不同的数组。

[cat_id] => 1
[parent_id] => 0
[cat_left] => 1
[options] => 0
[name] => soccer
[creator] => 0

我需要保存cat_id => name,例如:

1 => soccer

我尝试过foreach,但我所做的就是陷入困境。

foreach($data1 as $k=>$v)
        {
            $cat_arr[]= $v['cat_id'] => $v['name'];
        }

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

我假设$data1包含您发布的表单的多个子数组。然后你可以使用这样的代码:

$cat_arr = array();
foreach($data1 as $k=>$v) {
  $cat_arr[ $v['cat_id'] ]= $v['name'];
}

答案 1 :(得分:0)

您可以使用更优雅的array_map()

$data2 = array_map(
    function ($n) {
        return array($n['cat_id'] => $n['name']);
    },
    $data1
);

Fiddle