Я нашел код, который использует отрицательные индексы массива.  Затем я пытаюсь использовать его, ничего особенного не происходит.  Это ведет себя нормально.  Я могу получить все элементы, используя стандартный цикл foreach . 
Итак, какова цель использования этих отрицательных показателей? И когда я должен его использовать?
Массив, в PHP, на самом деле является просто своего рода упорядоченной картой: вы можете использовать целые числа (положительные или отрицательные) , но также строки, как ключи, и не будет большой разницы.
Отрицательные ключи массива не имеют особого значения в PHP, поскольку (как и любое другое значение) они могут быть ключами ассоциативного массива.
 $arr = array(-1 => 5); echo $arr[-1]; 
  Некоторые стандартные функции библиотеки PHP (те, которые ожидают регулярные массивы с только натуральными целыми индексами), однако, принимают отрицательные смещения, чтобы означать «подсчет с конца, а не на начало».  array_slice – один из таких примеров. 
Отрицательные индексы массивов не имеют специального значения (т. Е. Получают последний / второй последний элемент и т. Д.) В PHP. Чтобы получить последний элемент массива, используйте:
 $last = end($array); 
Чтобы получить второй последний, добавьте:
 $secondLast = prev($array); 
Имейте в виду, что эти функции изменяют внутренний указатель массивов . Для его сброса используйте:
 reset($array); 
Начиная с 7.1 , мы имеем важный и практичный частный случай, т. Е. При использовании синтаксиса массива для доступа к определенным символам строки с обратной стороны :
 $str = "123"; $empty = ""; echo "LAST CHAR of str == '$str[-1]'<br>"; // '3' echo "LAST CHAR of empty == '$empty[-1]'<br>"; // '', Notice: Uninitialized string offset: -1