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操作符,使用它不仅可以传递数组值的副本,还可以传递数组本身的引用。