PHP从函数传递数组变量
我尝试从函数中处理全局数组。这是我的密码:PHP从函数传递数组变量,php,arrays,Php,Arrays,我尝试从函数中处理全局数组。这是我的密码: $myArray = array(); myfunc($myArray); var_dump($myArray); function myfunc($myArray){ //perform some other tasks $myArray['name']='John'; } 但是没有起作用。var\u dump返回空数组。如何将阵列传递到全局阵列 谢谢。您需要以& 尝试这样做: function myFunc(&$myAr
$myArray = array();
myfunc($myArray);
var_dump($myArray);
function myfunc($myArray){
//perform some other tasks
$myArray['name']='John';
}
但是没有起作用。var\u dump
返回空数组。如何将阵列传递到全局阵列
谢谢。您需要以&
尝试这样做:
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;
}
brenjt的答案可能是最好的,但是OP询问如何访问全局变量。 可以使用global关键字全局访问$myArray,但不能将该数组传递到函数中
$myArray = array();
myfunc($myArray);
var_dump($myArray);
function myfunc(){
global $myArray;
//perform some other tasks
$myArray['name']='John';
}
这不是访问阵列的最佳方法。您应该使用brenjt的示例,但我想说明这也是可能的 为什么不
return
呢?是的,这是另一种方法。您可以学习引用&is-reference操作符,使用它不仅可以传递数组值的副本,还可以传递数组本身的引用。