PHP使用另一个数组的大小作为for循环的计数器,从数据库创建数组


PHP create array from database using size of another array as counter for for loop

我有以下代码。第一部分从数据库中检索多维数组。

$model = $product->getModelsBikes();
echo "<pre>".print_r($model, true)."</pre>";

它的结构是这样的。

Array
(
    [0] => Array
        (
            [manufacture] => data
            [name] => data
            [code] => data
            [cc] => data
            [bike_type] => data
            [title] => data
            [about] => data
        )
    [1] =>; Array
        (
            [manufacture] => data
            [name] => data
            [code] => data
            [cc] => data
            [bike_type] => data
            [title] => data
            [about] => data
        )
        ....

第二部分

$count = 0;
for ($i = 0; $i < count($model); $i++) {
    $modelSpecs = $product->getModelSpecs($model[$i]['code']);
    $count++;
}

有了这段代码,我正试图基于产品代码创建另一个内容数组。然而,它只是在每次传递时覆盖数组中的数据,直到只有最后一个集合存储在数组中,因为它是一个for循环。

这让我很困惑,可能很明显,但我该如何迭代并创建另一个数组,与第一个数组完全一样,但使用新数据。

就这么做吧。这将使$modelSpecs成为一个数组,并在每次迭代时将getModelSpecs返回添加到数组的末尾

$modelSpecs[] = $product->getModelSpecs($model[$i]['code']);

您可能还应该像这个一样在循环之前定义数组

$modelSpecs=array();