php 从函数推送到数组
php push to array from function
大家度过了愉快的一天!
我需要用其他数组填充 "global" 数组。作为例子,我写了这个函数:
<?php
function f($ar=array(), $gl=array()){
$gl[0]=array($ar[1]);
}
$globals=array();
$array_example=array('foo', 'bar');
f($array_example, $globals);
print_r($globals); //$globals is empty!
?>
请帮帮我。我不明白为什么 var $globals 是空的。
谢谢!
我认为您应该使用 &
:
传递数组 by reference
function f($ar = array(), &$gl = array())
{
$gl[0] = array($ar[1]);
}
$globals = array();
$array_example = array('foo', 'bar');
f($array_example, $globals);
print_r($globals);
会给你:
Array
(
[0] => Array
(
[0] => bar
)
)
首先,您应该将 function
值修改为 return 值,并将 returned 值分配给要打印的值。
您正在打印 $global
并且它是空的 array
。
所以你的代码应该是这样的。
<?php
function f($ar = array(), $gl = array()){
$gl[0] = array($ar[1]);
return $gl;
}
$globals=array();
$array_example=array('foo', 'bar');
$globals = f($array_example, $globals);
print_r($globals);
// prints out Array ( [0] => Array ( [0] => bar ) )
?>
函数总是作用于局部变量,而您想使用它们的局部变量范围来退出函数。
检查以下代码,希望对您有所帮助
function f($ar=array(), $gl=array()){
return array($ar[1]);
}
$globals=array();
$array_example=array('foo', 'bar');
$tmpArray = f($array_example, $globals);
$globals[0]=$tmpArray;
print_r($globals);
大家度过了愉快的一天!
我需要用其他数组填充 "global" 数组。作为例子,我写了这个函数:
<?php
function f($ar=array(), $gl=array()){
$gl[0]=array($ar[1]);
}
$globals=array();
$array_example=array('foo', 'bar');
f($array_example, $globals);
print_r($globals); //$globals is empty!
?>
请帮帮我。我不明白为什么 var $globals 是空的。
谢谢!
我认为您应该使用 &
:
function f($ar = array(), &$gl = array())
{
$gl[0] = array($ar[1]);
}
$globals = array();
$array_example = array('foo', 'bar');
f($array_example, $globals);
print_r($globals);
会给你:
Array
(
[0] => Array
(
[0] => bar
)
)
首先,您应该将 function
值修改为 return 值,并将 returned 值分配给要打印的值。
您正在打印 $global
并且它是空的 array
。
所以你的代码应该是这样的。
<?php
function f($ar = array(), $gl = array()){
$gl[0] = array($ar[1]);
return $gl;
}
$globals=array();
$array_example=array('foo', 'bar');
$globals = f($array_example, $globals);
print_r($globals);
// prints out Array ( [0] => Array ( [0] => bar ) )
?>
函数总是作用于局部变量,而您想使用它们的局部变量范围来退出函数。 检查以下代码,希望对您有所帮助
function f($ar=array(), $gl=array()){
return array($ar[1]);
}
$globals=array();
$array_example=array('foo', 'bar');
$tmpArray = f($array_example, $globals);
$globals[0]=$tmpArray;
print_r($globals);