推入多维数组的每个元素

时间:2014-02-18 07:41:15

标签: php codeigniter multidimensional-array array-merge array-push

抱歉是新手。我有一个多维数组,如

array(3){
    [0] = array(2){
        [type]=>car,
        [model]=> mazda
    }
    [1]= array(2){
        [type]=>car,
        [model]=> lexus
    }
    [3]= array(2){
        [type]=>car,
        [model]=> lexus
    }
}

现在我想循环遍历此数组中的每个类型并从数据库获取结果即汽车公司链接,并希望推入此现有数组。最终结果应该看起来像

array(3){
    [0] = array(3){
        [type]=>car,
        [model]=> mazda,
        [link]=> http://mazda.com
    }
    [1]= array(3){
        [type]=>car,
        [model]=> lexus
        [link]=> http://lexus.com
    }
    [3]= array(3){
        [type]=>car,
        [model]=> rangerover
        [link]=> http://rangerover.com
    }
}

我可以轻松遍历此数组并获取结果,但我不知道如何将此新结果推回到此数组中。

请帮助!!!

1 个答案:

答案 0 :(得分:1)

如果您拥有数据库中的网站,最好使用JOIN获取所有数据。像这样:

(pseudo code)
SELECT c.type,c.model,w.link 
FROM cars AS c
JOIN website AS w
ON c.id = w.car_id

如果没有,您必须在数据库中有一些关系,以便知道例如马自达与www.mazda.com(等)有关。然后从数据库中获取所有数据,使用for循环遍历数组并设置如下:

for ($i=0; $i<count($origArray); $i++) {
    $origArray[i]['link'] = $dbArray['carName']; // or whatever the relation you have - name, id, etc...
}

假设$ dbArray看起来像这样:

'mazda' => 'http://mazda.com',
'rangerover' => 'http://rangerover.com',
etc...