如何从php / laravel中的二维数组中获取单维数组?

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

标签: php arrays laravel

我在做laravel项目。我有一个SQL查询,

caffemodel

$ subCat返回一个数组,

$catcount=2;
    for($i=0;$i<$catcount;$i++) {
        $subCat[] = Category::where('parent_id', '=', $userCategory[$i])->pluck('id');
    }

我希望这个数组像一个单维数组一样,

[[54,55,56,57,58],[48,49,50,51,52]]

我没有得到如何做到这一点,请提前帮助和感谢。

5 个答案:

答案 0 :(得分:1)

我建议您在查询之前进行ID合并,这样只需一次访问数据库就可以节省一些运行时间。

    $catcount    = 2;
    $parents_ids = [];
    for ($i = 0; $i < $catcount; $i++) {
        $parents_ids[] = $userCategory[$i];
    }
    $subCats = Category::whereIn('parent_id', $parents_ids)->pluck('id');

答案 1 :(得分:0)

$catcount=2;
for($i=0;$i<$catcount;$i++) {
   $subCat[] = Category::where('parent_id', '=' $userCategory[$i])->pluck('id');
}

array_merge($subCat[0],$subCat[1]);

答案 2 :(得分:0)

从最终的数组中,您可以进行数组合并

list($a1, $a2) = $subCat;
$subCat = array_merge($a1, $a2);

答案 3 :(得分:0)

有很多方法可以做到这一点。其中之一:简单但通用,可读和可更新(如果您的数据结构中的某些内容会发生变化,您将能够立即更新此代码):

$newArr = [];
foreach ($subCat as $subArr) {
    foreach ($subArr as $value) {
        $newArr[] = $value;
    }
}

答案 4 :(得分:0)

如果您的数组有多个元素,您可以使用以下代码合并它们:

$subCats = call_user_func_array("array_merge", $subCat);