2013-11-24 127 views
2

我尝试从函数处理全局数组。这里是我的代码:PHP从函数传递数组变量

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

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

但没有奏效。 var_dump返回空数组。我怎样才能让阵列传递到全球?

谢谢。

回答

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

为什么不''返回? – zerkms

+0

是的,那是另一种方式。 – brenjt

+0

非常感谢。有用!!!!那是什么“&$”是什么意思?我第一次来到这里。 – user1995781

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的例子,但我想表明这也是可能的。