Результат, сохраненный в $g
, равен 1 и 2. Следующий код, который я написал ниже, в моем $array['music']
хранит только последний элемент, который равен 2. Но я хочу выполнить мой sql-запрос 2 раза под foreach и сопоставить значение $g
, которое равно 1 и 2 с mu_id
(mu_id
- это имя столбца из другой таблицы music
) и хранить все данные строк строк 1 и 2 в $array['music']
.массив перезаписывается последним элементом в php
Он хранится только для второй строки (2) не для 1 или перезаписывает его, когда он выполняет второй цикл во внутреннем цикле. Если есть какая-либо логика, чтобы заставить ее работать, пожалуйста, дайте мне знать.
foreach($genre as $g)
{
echo $g;
echo "<br>";
$array['music'] = $m -> where('mu_id', $g) -> get();
}
Что такое $ g? Что такое $ m? Дайте вашим переменным подходящие имена, поэтому им будет легче следовать. Нам больше не нужно изучать наши ABC. –
@Truth: CI Datamapper docs использует однобуквенные переменные во всех своих примерах, поэтому, вероятно, это просто копирование этих примеров. Я согласен, что это плохая привычка, но в этом случае я бы предположил, что '$ g' - это жанр, а' $ m' - это «музыка». Я также просто использовал бы полное слово. –
@madmartigan Я хорошо знаю об этом. Я просто заявляю, что он не должен делать это сам, а также копировать примеры вслепую, не понимая основ массивов. –