Здравствуйте, у меня проблема с загрузкой нескольких массивов в foreach для отображения данных из multipleIterator. В массивах есть полные данные, но в итераторе в foreach мне ничего не показывает.
$date = array();
$time = array();
$message = array();
это мои массивы, которые заполняются из результата mysql, и это работает в этих массивах, все это данные.
и я сделал это
$iterator = new MultipleIterator();
$iterator->attachIterator(new ArrayIterator($date));
$iterator->attachIterator(new ArrayIterator($time));
$iterator->attachIterator(new ArrayIterator($message));
и мой foreach
foreach($iterator as $i)
{
echo $i[0];
echo $i[1];
echo $i[2];
}
но он не показывает мне ничего пустого, пожалуйста, помогите, в чем ошибка?
@u_mulder прочтите описание НЕ ПУСТО, когда я использую только массивы $ date или другой, он показывает мне полные данные
нет ничего плохого в этом коде
Вот рабочий пример, которая отлично работает 3v4l.org/nW8hC, поэтому убедитесь, что массивы не пусты. Также var_dump($i), чтобы посмотреть, что это такое.
когда я сделал это foreach ($ date as $ s) {echo $ s. «<br>»; } он показывает мне все даты в массиве, правда, я не знаю, в чем проблема, это сводит меня с ума
Возможно проблема с ключами. Только проверьте, какие ключи есть в $i. Для этого вам нужно сменить foreach на foreach($iterator as $keys => $i) и добавить var_dump($keys);.
@KarolSamborski спасибо, но он мне тоже ничего не показывает
Так что, возможно, вам стоит создать MultipleIterator с флагами MultipleIterator::MIT_NEED_ANY|MultipleIterator::MIT_KEYS_NUMERIC. Помогает?
@KarolSamborski да, я пробовал это, но это не помогает :( :( :(
Не могли бы вы показать, что на самом деле находится в этих трех массивах?
@KarolSamborski я делаю foreach с $ date, только он показывает мне 08.2018 08.2018 08.2018 и то же самое со временем 09:30 10:30 11:30 и сообщение также 3 сообщения во всех массивах - это данные из результата mysql, но в итераторе нет ничего
Взгляните на это. Это работает так, что ваши массивы должны иметь другую структуру. Вставьте сюда вывод var_dump([$date, $time, $message]);






Но
$date,$timeи$message- это пустой.