PHP从函数传递数组变量

时间:2013-11-24 04:31:22

标签: php arrays

我尝试从函数处理全局数组。这是我的代码:

$myArray = array();
myfunc($myArray);
var_dump($myArray);

function myfunc($myArray){
    //perform some other tasks
    $myArray['name']='John';
}

但没有奏效。 var_dump返回空数组。如何将数组传递给全局?

谢谢。

2 个答案:

答案 0 :(得分:4)

您需要传递reference &

尝试这样做:

function myFunc(&$myArray){
    //perform some other tasks
    $myArray['name']='John';
}

你也可以这样返回:

$myArray = array();
$myArray = myfunc($myArray);
var_dump($myArray);

function myfunc($myArray){
    //perform some other tasks
    $myArray['name']='John';
    return $myArray;
}

答案 1 :(得分:1)

brenjt答案可能是最好的,但OP询问如何访问全局变量。 您可以使用global关键字全局访问$ myArray,但不会将该数组传递给该函数。

$myArray = array();
myfunc($myArray);
var_dump($myArray);

function myfunc(){
    global $myArray; 

    //perform some other tasks
    $myArray['name']='John';
}

这将 NOT 是访问阵列的最佳方法。你应该使用brenjt的例子,但我想表明这也是可能的。