PHP数组可读

时间:2016-04-06 10:10:10

标签: php arrays

我有一个数组格式。

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

    [1] => Array
        (
            [order_id] => 11
        )

    [2] => Array
        (
            [order_id] => 12
        )

)

应该将数组格式更改为格式:

[1,11,12];

请帮忙。先谢谢你。

4 个答案:

答案 0 :(得分:3)

对于(PHP 5> = 5.5.0,PHP 7),您可以使用array_column并且低于您可以使用array_map函数(对于PHP< 5.3),您需要定义saperate array_map的函数,而不是匿名函数。

$array = array
(
    '0' => array
    (
        'order_id' => 1
    ),

    '1' => array
    (
        'order_id' => 11
    ),

    '2' => array
    (
        'order_id' => 12
    )

);

$new_array = array_column($array, 'order_id');
print_r($new_array);


$new_array = array_map(function($element) {
    return $element['order_id'];
}, $array);
print_r($new_array);

<强>输出

Array
(
    [0] => 1
    [1] => 11
    [2] => 12
)

答案 1 :(得分:0)

这个怎么样?

$arr = Array
(
    0 => Array
        (
            'order_id' => 1
        ),

    1 => Array
        (
            'order_id'=> 11
        ),

   2 => Array
        (
            'order_id' => 12
        ),

);
$newArr = array();

foreach($arr as $x){
    foreach($x as $y){
        $newArr[] = $y;
    }
}

答案 2 :(得分:0)

你可以试试这个:

$ar = array(array('order_id' => 1), array('order_id' => 11), array('order_id' => 12));

$temp = array();

foreach ($ar as $val) {
    $temp[] = $val['order_id'];
}

print_r($temp);

答案 3 :(得分:0)

基本上,您正在寻找扁平阵列。 This SO answer有一些关于如何做到这一点的提示。此外,this Github gist还有一个高尔夫版本。

对于您问题中的具体情况,应该这样做

function specificFlatten($arr) {
    if (!is_array($arr)) return false;

    $result = [];

    foreach ($arr as $arr_1) {
        result[] = $arr_1['order_id'];
    }

    return $result;
}