Ориентация на последнего дочернего элемента в массиве PHP в foreach

Я пытаюсь настроить таргетинг на последний дочерний элемент массива (в операторе foreach), чтобы немного изменить вывод только этого элемента. Я пробовал множество подходов, но не имел никаких прорывов. Мой цикл очень прост:

// Loop through the items
foreach( $array as $item ):
    echo $item;
endforeach;

Вышеприведенное работает нормально, но я хочу изменить вывод конечного элемента в массиве на что-то вроде:

// Change final item
echo $item . 'last item';

Это возможно?

Как насчет echo array_reverse($array)[0] . 'last item', или вы тоже хотите все предметы?

user3783243 26.06.2019 12:45

Просто echo 'last item'; после цикла.

Nigel Ren 26.06.2019 12:55
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
651
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Похоже, вы хотите что-то вроде этого:

   <?php 

// PHP program to get first and 
// last iteration 

// Declare an array and initialize it 
$myarray = array( 1, 2, 3, 4, 5, 6 ); 

// Declare a counter variable and 
// initialize it with 0 
$counter = 0; 

// Loop starts from here 
foreach ($myarray as $item) { 

    if ( $counter == count( $myarray ) - 1) { 

        // Print the array content 
        print( $item ); 
        print(": Last iteration"); 
    } 

    $counter = $counter + 1; 
} 

?> 

Результат здесь

Используйте count(), это подсчитает все элементы вашего массива. Используйте длину счетчика для вашего последнего индекса элемента. как показано ниже. Установите последний элемент как «Последний элемент» перед тем, как начать свой foreach, таким образом, вам не потребуется проверка.

$array[count($array) - 1] = $array[count($array) - 1]."Last item";
foreach( $array as $item ){
    echo $item;
}
Ответ принят как подходящий
 $last_key = end(array_keys($array));   
 foreach ($array as $key => $item) {
    if ($key == $last_key) {
       // last item
       echo $item . 'last item';
    }
 }

Спасибо за это - идеально с несколькими настройками.

dungey_140 26.06.2019 14:15

Вы можете использовать end

end : Set the internal pointer of an array to its last element

$fruits = array('apple', 'banana', 'cranberry');
echo end($fruits); // cranberry

Эй, вы можете просто использовать функцию end для последнего элемента. Вам не нужно повторять это.

Синтаксис: end($array)

Другие вопросы по теме