Протолкнуть в каждый элемент многомерного массива

Извините за то, что новичок. у меня есть многомерный массив, как под

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 ответ

Решение

Если у вас есть веб-сайты в базе данных, лучше всего объединить все данные, используя JOIN. Как это:

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

Если нет, вы должны иметь какое-то отношение в вашей базе данных, чтобы знать, например, что mazda связана с 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...
Другие вопросы по тегам