0

我有那个代码:

<?php

error_reporting(E_ALL);
ini_set('display_errors',1);

$wynik = 0;
$licznik = 0;
wykonaj();

function wykonaj()
{
echo '1';
for($i = 1; $i == 404; $i++)
{
$temp = $i / 100;
echo $temp;

if(is_int($temp*1.5))
{
global $wynik, $licznik;
$wynik++;
//$liczba[$licznik] = $i + ($i/100)*1.5;
$licznik++;
}

}
}

echo "Ilosc wynikow : $wynik<br/>Liczby sa nastepujace :";


?>

我的申请返回:

1Ilosc wynikow : 0
Liczby sa nastepujace :

所以我认为有一个错误(逻辑?),因为该行 -echo $temp;尚未显示,但在显示循环之前为 1 。我尝试了很多东西,但我找不到任何解决方案。为什么是我的错误?编译器什么也没说。

4

2 回答 2

2

它只会在$i等于 时进入循环404,它被设置为立即1关闭,这样就不会发生。

循环中的语法for类似于:

for([Set Vars]; [Set Conditional]; [Set Increment])

循环仅在条件为真时运行。

于 2013-09-24T17:47:04.323 回答
1

试试这个代码。在 for 条件中缺少 <=

<?php

error_reporting(E_ALL);
ini_set('display_errors',1);

$wynik = 0;
$licznik = 0;
wykonaj();

function wykonaj()
{
    echo '1';
    for($i = 1; $i <= 404; $i++)
    {
        $temp = $i / 100;
        echo $temp;

        if(is_int($temp*1.5))
        {
            global $wynik, $licznik;
            $wynik++;
            //$liczba[$licznik] = $i + ($i/100)*1.5;
            $licznik++;
        }
    }
}

echo "Ilosc wynikow : $wynik<br/>Liczby sa nastepujace :";

?>

演示在这里

于 2013-09-24T17:52:09.473 回答