У меня проблема с неопределенной переменной, когда я пытаюсь использовать массив внутри функции.  Примером может служить код ниже.  Как я могу получить доступ к массиву $prev внутри функции hello() ?  Я попытался выполнить поиск, но я не знаю, как использовать $GLOBALS[$varname] когда переменная является массивом.  Спасибо за любую помощь! 
 <?php $prev = [0,1,2]; function hello(){ echo $prev[1]; } hello(); hello(); hello(); ?> 
Вы также можете передать переменную в функцию:
 $prev = [0,1,2]; function hello(array $array){ echo $array[1]; } hello($prev); hello($prev); hello($prev); ?> 
Другой способ – передать переменную по ссылке .
 function hello(&$array){ $array[1]++; echo $array[1]; } 
Это способ использовать его как глобальный. Кстати, есть и другие способы использовать его внутри функции hello.
 $prev = [0,1,2]; function hello(){ global $prev; echo $prev[1]; } hello(); hello(); hello(); 
Вы могли бы сделать что-то вроде:
 $GLOBALS["prev"] = [0,1,2]; function hello(){ echo $GLOBALS['prev'][1]; } hello(); 
Однако рассмотрите возможность сделать что-то вроде:
  $prev = [1,2,3]; function hello($prev) { echo $prev[1]; } hello($prev); 
В качестве альтернативного решения:
 class GlobalsContainer { public static $prev=[1,2,3]; } function hello() { echo GlobalsContainer::$prev[1]; } hello(); 
  Объявите массив с ключевым словом global внутри function .  Видеть это – 
 <?php function hello(){ global $prev = [0,1,2]; echo $prev[1]; } ?>