假设我有这样的功能:
function z($zzz){
for($c=0;$c<5;$c++){
$zzz[$c]= 10;
//more and more codes
}
}
我想写一个loop
以便
第一次执行该功能时,参数$array
已通过
第二次:参数$array[0]
已通过
第三次:参数$array[1]
已通过
.....
和第12次:参数$array[0][0]
已通过
这就是我想到的:
$a = -1;
$b = -1;
$array = array();
while($a<10){
while($b<10){
z($array);
$b++;
$array= &$array[$b];
}
$a++;
$array= &$array[$a];
}
我已经尝试过,但它没有用..
如果有人能提供解决方案,我将不胜感激。
答案 0 :(得分:1)
如果z()应该更改传递的数组,则函数定义应为:
function z(&$zzz)
答案 1 :(得分:0)
$a = 0;
while ($a < 99) // <-- edit as applicable
{
$b = 0
while ($b < 12)
{
if ($b == 0)
{
Z($array[$a]);
} else
{
Z($array[$a][$b]);
}
$b++;
}
$a++;
}
正如杰克所说,您需要通过引用传递$array
变量以进行更新。不太确定该功能试图实现的功能。如果您需要使用预先确定的维度填充数组,则array_fill
可能更有用。
http://www.php.net/manual/en/function.array-fill.php
function z(&$zzz){
for($c=0;$c<5;$c++){
$zzz[$c]= 10;
//more and more codes
}
}