Intereting Posts
Соединение с Php Oracle: oci_connect (): ORA-24315: ошибка типа незаконного атрибута PHP echo внутри эха Двустороннее шифрование: мне нужно хранить пароли, которые можно получить Кэширование с помощью PHP для снятия стресса с MySQL PHP для цикла – отображение данных в таблице Язык перевода грамматики PHP Предупреждение: PDOStatement :: execute (): SQLSTATE : Недопустимый номер параметра: параметры не были связаны Вызов функции PHP с помощью AJAX, но перенаправление не работает Подключение к localhost / index.php через мой смартфон PHP добавляет элементы в многомерный массив с помощью массива array_push Как использовать python для аутентификации с помощью Google в grpc? (У меня есть исполняемый PHP-код) отправка почты с помощью php & escaping hotmails junk folder Reg exp для youtube link Защищать PDF-документы от прямого доступа в URL-адресе Как вызвать конструктор родительских классов с его исходными параметрами в PHP

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

Я пытаюсь сделать цикл 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 только зацикливается на последнем элементе. Добавление элементов массива в новый массив внутри цикла также заканчивается массивом, содержащим только последний элемент. Что я делаю не так?

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

У вас две ошибки в коде:

  1. В вашей первой строке у вас есть два равных знака, которые должны быть только одним.

  2. В вашем цикле 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.....