У меня есть интересная проблема, которая не возвращает ожидаемые результаты.Как исправить неправильные результаты массива
Я вытаскиваю список из 50 имен из базы данных и помещаю их в массив, который отлично работает. Затем мне нужно будет добавить первый массив имени в массив. При попытке сделать это окончательный результирующий массив заканчивается только {NAME} z, а не ожидаемыми результатами. Вот мой подарок код
$init_array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
foreach($names as $id=>$name){
foreach($init_array as $ks=>$vs){
$names[$id] = $name . ' ' . $vs . '<br>';
}
}
foreach($names as $id=>$name){
echo $name . '<br>';
}
Мои результаты теперь показывают что-то вроде:
Arnetta z
Arnette z
Arnita z
Arnold z
Arnoldo z
Когда на самом деле он должен показать:
Arnetta a
Arnetta b
Arnetta c
И так далее. Поэтому мой вопрос заключается в том, имеет ли массив ограничение объема данных, которые он может хранить? Я на самом деле установить лимит памяти:
ini_set('memory_limit', '1024M');
И код оказывается правильным, чтобы добавить намеченную первый инициал из фамилии в массив имен. Неправильно ли вы разрабатываете код? Каков правильный способ настройки кода для предполагаемых результатов?
Заранее спасибо.
Вы только перезапись значения в массиве имен снова и еще раз. Похоже, вы хотите объединить имя, а не переписывать его. –
Итак, в конце концов, вы хотите, чтобы каждое имя в '$ names' имело вариант для каждой буквы в массиве? (боковой подсказку - сократите этот большой уродливый буквенный массив [с 'range()'] (http://php.net/manual/en/function.range.php), как в '$ init_array = range ('a', 'z'); ') –
Итак, вы хотите получить строки 26 * [# номеров' $ names']? –