我尝试从函数处理全局数组。这是我的代码:
$myArray = array();
myfunc($myArray);
var_dump($myArray);
function myfunc($myArray){
//perform some other tasks
$myArray['name']='John';
}
但没有奏效。 var_dump
返回空数组。如何将数组传递给全局?
谢谢。
答案 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的例子,但我想表明这也是可能的。