PHP - 声明一个全局数组

Ral*_*lph 2 php arrays global-variables

当我尝试在函数内部使用数组时,我遇到了Undefined变量的问题.一个例子是下面的代码.我怎样才能访问$prev函数内的数组hello()?我尝试过搜索但是$GLOBALS[$varname]当变量是数组时我真的不知道如何使用.谢谢你的帮助!

<?php

$prev = [0,1,2];

function hello(){

    echo $prev[1];

}

hello();
hello();
hello();

?>
Run Code Online (Sandbox Code Playgroud)

Luc*_*ung 8

您还可以将变量传递给函数:

$prev = [0,1,2];

function hello(array $array){

    echo $array[1];

}

hello($prev);
hello($prev);
hello($prev);

?>
Run Code Online (Sandbox Code Playgroud)

另一种方法是通过引用传递变量.

function hello(&$array){

    $array[1]++;
    echo $array[1];

}
Run Code Online (Sandbox Code Playgroud)


Dav*_*ffe 5

这是将其用作全局的方式.顺便说一下,还有其他方法可以在hello函数中使用它.

$prev = [0,1,2];

function hello(){
    global $prev;

    echo $prev[1];

}

hello();
hello();
hello();
Run Code Online (Sandbox Code Playgroud)