как получить только последнее значение в foreach? php

#php #foreach

#php #foreach

Вопрос:

 foreach ($data['data'] as $data) { 
 echo $data['title'][0]; 
 //echo '<br />';
}
  

это выведет:

 melon
apple
... 
banana
pear
  

Теперь, как перейти ко всем, получить только последнее значение в foreach? нужно только pear . Спасибо.

Комментарии:

1. Не используйте foreach вообще. Используйте $data['data'][last index]

Ответ №1:

Если вам нужно только последнее значение, то вам не нужно выполнять цикл. Вы можете использовать end() :

 $lastItem = end($data['data']);
echo $lastItem['title'][0];
  

Обратите внимание, что при этом внутренний указатель массива будет установлен на последний элемент. Может потребоваться, чтобы вы вызвали reset($data) после этого.

Ответ №2:

End уже был предложен (что я могу порекомендовать на самом деле), однако, если вы хотите сделать это с помощью foreach, вы могли бы сделать:

 foreach ($data['data'] as $data) {
}
echo $data['title'][0]; 
//echo '<br />';
  

но это действительно лишнее. Затем вы выполняете итерацию по массиву только для сохранения последнего элемента в $data . Итак, если в ‘data’ вообще нет элементов, это приведет к сбою (как с end, но end вернет false, если массив пуст).

Итак, переходим к:

 $data=end($data['data']);