Foreach показывает только последний элемент в массиве

Вопрос:Я пытаюсь сделать цикл foreach для итерации по каждому элементу в массиве, но он только захватывает последний элемент и не перебирает первый элемент. Я удалил код, чтобы показывать только соответствующие части, и добавил некоторые команды, чтобы идентифицировать проблему, как описано выше. $message == "kk,ll"; $myArray = explode(',', $message); print_r ($myArray); foreach ($myArray as $value); {

Вопрос:

Я пытаюсь сделать цикл 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); Ответ №1

удалите ; после Foreach, как в следующем коде

foreach ($myArray as $value) { echo «$value <br>»; $array[] = $value; } Ответ №2

ваш foreach просто назначил значение $, но ничего не выводит. Это вызвано: после foreach, так же, как

foreach ($myArray as $value) {}

И после этого значение $имеет последний элемент $myArray, затем

{ echo «$value <br>»; $array[] = $value; }

выводит только последний элемент.

Ответ №3In 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…..

Оцените статью
Добавить комментарий