如何将数组的键添加到php中的数组值?

时间:2016-04-02 11:44:22

标签: php arrays collections laravel-5.1

嗨我有一个数组,我已经在每个数组的键中添加了一个id,但我希望将该id添加到数组值中。

将键和值添加到数组的代码。

foreach ($data as $id => $name) {
            $arr[$id] = Category::where('parent_category_id', $id)->lists('id');
        }

现在数组看起来像这样

Array
(
    [427] => Illuminate\Support\Collection Object
        (
            [items:protected] => Array
                (
                    [0] => 277
                    [1] => 279
                    [2] => 426
                    [3] => 428
                    [4] => 429
                    [5] => 430
                    [6] => 431
                    [7] => 432
                    [8] => 433
                    [9] => 434
                )

        )

    [280] => Illuminate\Support\Collection Object
        (
            [items:protected] => Array
                (
                    [0] => 281
                    [1] => 282
                    [2] => 435
                    [3] => 436
                    [4] => 437
                )

        )

    [283] => Illuminate\Support\Collection Object
        (
            [items:protected] => Array
                (
                    [0] => 284
                    [1] => 285
                    [2] => 286
                )

        )

我真正希望实现的是我想要添加密钥,例如说第一个键是427到数组值,这样我就可以得到所有的ID。我怎样才能达到这个目的,请协助。

1 个答案:

答案 0 :(得分:1)

我通过使用以下代码完成此操作:

$result = [];
array_walk($arr,function($v,$k)use (&$result){
    array_unshift($v,$k);
    $result[$k][] = $v;
});

print_r($result);

您可以查看工作演示here