Php 设置变量的函数调用不';行不通
下面的代码是在建议使$i$j运行良好后修改的Php 设置变量的函数调用不';行不通,php,Php,下面的代码是在建议使$i$j运行良好后修改的 <?php $i=1; $j=1; function fixIndex() { global $i, $j; $a=$j-$i; if ($a === 60){ $i += 60; } $j++; } 您可以使用“按引用传递”来避免在此处使用全局变量。这意味着函数将修改传递给它的变量 另外,我将“$I+5”(这不会导致任何事情发生)更改为“$I+=5”,以便它修改变量$I。您没有
<?php
$i=1;
$j=1;
function fixIndex() {
global $i, $j;
$a=$j-$i;
if ($a === 60){
$i += 60;
}
$j++;
}
您可以使用“按引用传递”来避免在此处使用全局变量。这意味着函数将修改传递给它的变量
另外,我将“$I+5”(这不会导致任何事情发生)更改为“$I+=5”,以便它修改变量$I。您没有存储增量值$I
<?php
$i=1;
$j=1;
function fixIndex() {
global $i, $j;
if ($j - $i == 5){
$i = $i+5;
}
$j++;
}
for ($k=0;$k<=20; $k++){
fixIndex();
echo $i.'<br />';
echo $j.'<br />';
}
您可能可以这样描述您想要做的事情:
“每次$j增加5时,$i增加5”
这可以以这样一种简单而紧凑的形式实现。
(解决方案涵盖所有情况,并不取决于迭代的上限。)
$i+5
实际上没有什么作用,除非您打算用该值更新$i-$i=$i+5代码>。。。。您编写的代码确实在运行,但它对$i的计算结果没有任何作用+5@Felix黄:我看到你开始了一个新问题,因为你的第一个问题已经作为重复问题结束了。在我看来,这有点言之过早,如果仔细看一看,它并不是一个真正的复制品。我再次尝试理解您真正希望代码执行的操作,并再次添加了答案。感谢您提供此代码。它可以自己工作。但是它对我的主代码不起作用我的主代码如下:有点悬念,有更多的代码吗?
<?php
function fixIndex(&$i, &$j) {
global $i, $j;
if ($j - $i == 5) {
$i += 5;
}
$j++;
}
$i=1;
$j=1;
for ($k=0;$k<=20; $k++){
fixIndex($i, $j);
echo $i.'<br />';
echo $j.'<br />';
}
?>
<?php
$i=1;
$j=1;
function fixIndex() {
global $i, $j;
if ($j - $i == 5){
$i = $i+5;
}
$j++;
}
for ($k=0;$k<=20; $k++){
fixIndex();
echo $i.'<br />';
echo $j.'<br />';
}
<?php
function fixIndex(&$i,$j) {
if ( ($j>1) && (($j-1) % 5 == 0) ) $i += 5;
}
$i = 1;
for ($j=1;$j<=20; $j++){
fixIndex($i,$j);
echo "\$j=$j, \$i=$i <br />";
}