我该如何简化这个数组呢?

时间:2010-08-09 21:16:44

标签: php arrays

我有这个数组:

Array
(
    [0] => Array
        (
            [tag_id] => 1
        )

    [2] => Array
        (
            [tag_id] => 3
        )

    [22] => Array
        (
            [tag_id] => 44
        )

    [23] => Array
        (
            [tag_id] => 45
        )

    [25] => Array
        (
            [tag_id] => 47
        )

    [26] => Array
        (
            [tag_id] => 48
        )

)

我希望它看起来像这样,所以我更简单地循环并将每个值插入数据库:

Array
(
    [0] => 1
    [1] => 3
    [2] => 44
    [3] => 45
    [4] => 47
    [5] => 48
)

3 个答案:

答案 0 :(得分:8)

您可以使用array_map

PHP 5.3或更高版本:

$callback = function($value) {
   return $value['tag_id'];
};
$result = array_map($callback, $array);

低于5.3:

function collapseTagIds($value) {
  return $value['tag_id'];
}
$result = array_map('collapseTagIds', $array);

答案 1 :(得分:3)

嗯,你可以这样做:

$new_array = array();
foreach($array as $key => $value)
{
    $new_array[$key] = $value['tag_id'];
}
print_r($new_array);

答案 2 :(得分:1)

在您的情况下,$value上只有一个索引。如果您不想指定索引名称,请执行以下操作:

$new_array = array();
foreach($array as $key => $value) {
  $new_array[$key] = reset($value);
}
print_r($new_array);