Я пытаюсь сделать цикл foreach для итерации по каждому элементу в массиве, но он захватывает только последний элемент и не перебирает первый элемент. Я разделил код, чтобы показывать только соответствующие части, и добавил некоторые команды, чтобы идентифицировать проблему, как описано выше.
$message == "kk,ll"; $myArray = explode(',', $message); print_r ($myArray); foreach ($myArray as $value); { echo "$value <br>"; $array[] = $value; } print_r ($array);
Выход:
Array ( [0] => kk [1] => ll ) ll Array ( [0] => ll )
Вы можете видеть, что когда я использую print_r()
массив содержит два элемента. Но цикл foreach
только зацикливается на последнем элементе. Добавление элементов массива в новый массив внутри цикла также заканчивается массивом, содержащим только последний элемент. Что я делаю не так?
У вас две ошибки в коде:
В вашей первой строке у вас есть два равных знака, которые должны быть только одним.
В вашем цикле foreach вы по ошибке поставили точку с запятой в конце:
foreach ($myArray as $value);
При этом цикл foreach будет запущен, но код внутри {}
фактически помещен вне цикла foreach и, таким образом, заставляет $value
хранить только последний элемент массива.
Код должен выглядеть так:
$message = "kk,ll"; $myArray = explode(',', $message); print_r ($myArray); foreach ($myArray as $value) { echo "$value <br>"; $array[] = $value; } print_r ($array);
удалить ;
после Foreach, как в следующем коде
foreach ($myArray as $value) { echo "$value <br>"; $array[] = $value; }
ваш foreach просто присвоил значение $, но ничего не выводит. Это вызвано: после foreach, так же, как
foreach ($myArray as $value) {}
И после этого значение $ имеет последний элемент $ myArray, затем
{ echo "$value <br>"; $array[] = $value; }
выводит только последний элемент.
In Laravel Framework Use Code into Controller: $dd = $categories->pluck( 'title' )->toArray(); foreach ( $dd as $key => $value ) {<br /> $array[$key] = '.' . $value;<br /> } <br /> $cat = implode( ',' , $array ); <br /> // Result Display : James,Mark,Helmet.....