1

私がこのような関数を持っているとしましょう:

function z($zzz){
   for($c=0;$c<5;$c++){
   $zzz[$c]= 10;  
   //more and more codes
   }    
}

書きたいloopので

関数が最初に実行されるときに、 引数$arrayが渡されます

2回目:引数 $array[0]が渡されます

3回目:引数 $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];  
}

試しましたが、うまくいきませんでした。

誰かが解決策を提供できれば幸いです。

4

2 に答える 2

1

z()が渡された配列を変更することになっている場合、関数定義は次のようになります。

function z(&$zzz)
于 2012-05-11T08:13:04.293 に答える
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
   }    
}
于 2012-05-11T08:28:14.987 に答える