0

関数を実行してからVarに新しい値を返すことは可能ですか?したがって、ループを再試行すると、条件をチェックして変更を検出しますか?


私がこれを持っているとしましょうfunction

   function changeZ(){
   $z=1
   return $z;      
   }

これが私のwhileループです:

$a = 0;
$z = 10;
while($a<$z){
changeZ();
$a++;
}

次のようにコードを変更するにはどうすればよいですか?

関数changeZ()は変数の新しい値を返します$z

したがって、ループが条件(1 <1)をチェックすると、 falseが返され、ループが停止します。

4

6 に答える 6

0
$z = changeZ();

しかし、コメントされているように、あなたは間違いなくこれについて間違っているように見えます。

于 2012-05-11T09:59:31.173 に答える
0

参照で渡すか、値を返すことができます

$z = 100;
change($z);

function change(&$var) {
  $var = 1;
}

$z = 100;
$z = change($z);
function change($var) {
  return $var * 100 - 50;// Logic with $z obviously can be whatever
}
于 2012-05-11T09:59:45.213 に答える
0

これは、関数から返されたデータを配列に格納する目的で使用できます。

function changeZ(){
     $z = $row['result'];       //your data from database
     return $z;      
}

$a = 0;
$z = 10;
$returned_value=new array();

while($a<$z){
    $returned_value[] = changeZ();
    $a++;
}
于 2012-05-11T10:58:46.040 に答える
0

関数の$zとループで使用する$zは同じものではありません。したがって、loop-zの値を関数の戻り値に設定する必要があります...

$a = 0;
$z = 10;

while($a<$z){
    $z = changeZ();
    $a++;
}
于 2012-05-11T09:56:50.310 に答える
0

あなたはこれを入れなければなりません

$a = 0;
$z = 10;
while($a<$z) {
    $z = changeZ();
    $a++;
}
于 2012-05-11T09:57:21.230 に答える
0
$a = 0;
$z = 10;
while($a<$z){
$z = changeZ();
$a++;
}

関数は値を返すため、戻り値を含むように変数を設定する必要があります。これにより、要求した内容が実行され、ループが1回だけ実行されます。

あなたができるもう一つのことは、変数をそのような関数に渡すことです

function changeZ($in){
$out = $in-1;
return $out;
}

$a = 0;
$z = 10;
while($a<$z){
$z = changeZ($z);
$a++;
}

これにより、一方の数値が増加し、もう一方の数値が減少するため、ループが5回実行されます0 <10 1 <9 2 <8 3 <7 4 <6

于 2012-05-11T10:13:45.297 に答える