阵列结构重排无循环

时间:2018-10-27 11:30:31

标签: php

我有一个如下所述的数组,我想不使用循环就重新排列:

Array
(
    [0] => Array
        (
            [Books] => Array
                (
                    [id] => 4
                )

        )

    [1] => Array
        (
            [Books] => Array
                (
                    [id] => 3
                )

        )

    [2] => Array
        (
            [Books] => Array
                (
                    [id] => 2
                )

        )

    [3] => Array
        (
            [Books] => Array
                (
                    [id] => 1
                )

        )

)

我想要这样的输出:

Array(4,3,2,1)

1 个答案:

答案 0 :(得分:0)

我假设您不想使用for或foreach循环,但是内部使用或使用循环的其他任何方法都可以。

在这种情况下,您可以使用array_map:

$result = array_map(function($item){
  return $item['books']['id'];
}, $currentArray);

OR

如果您甚至不想这样做:

$v1 = array_column($input, 'books');
$result = array_column($v1, 'id');