2017-10-21 37 views
-1

下面是我在我的瀏覽器中連續運行它的顯示1時給出的php代碼。我的問題是爲什麼它的演出是這樣的?執行後會顯示一個致命錯誤:超出最大執行時間。那是什麼?爲什麼for循環輸出在php中連續1?

<?php 
     for ($i=1; $i<=5; $i+1) { 
      echo $i." "; 
     } 
    ?> 

給我適當的答案。讓我確定php代碼的執行時間是多少? TIA

+0

'$ i + 1'是語言中的一個合法構造嗎?大多數解釋器只是爲該代碼打印垃圾。 – jdv

+0

這是一個愚蠢的錯誤。只要看看下面的答案,但要回答最後一點,它取決於你選擇什麼時間限制。您可以將腳本執行時間設置爲:ini_set('max_execution_time',300); – Shan

+0

使用'for($ i = 1; $ i <= 5; $ i ++)' – Jeffrey

回答

0

更改您的代碼以

<?php 
for ($i=1; $i<=5; $i++) { 
echo $i." "; 
} 
?> 

,因爲首先你必須爲$我

0

使用$i++$i+1設定值時,$i++ is $i=$i+1

2

$i+1不增加的$i值。它只在$i中增加1,但不會將其分配回$i。你的循環是這樣的:

$i = 1 
while ($i<=5) { 
    echo $i." "; 

    $i+1; 
} 

$i+1它自己什麼都不做。

你需要類似$i = $i + 1。或者簡稱$i += 1。或者更短,更好:$i++

for ($i=1; $i<=5; $i++) { 
    echo $i . " "; 
} 
0

你需要做的

<?php 
    for($i = 1; $i <= 5; $i++) { 
     echo $i." "; 
    } 
?> 

現在,你剛纔說1 + 1但你不把它分配給什麼。您可以使用$i = $i + 1,但它與$i++

-1

您在打印該行時遇到問題。它應該看起來像

<?php 
    for ($i=1; $i<=5; $i++) { 
    echo $i; 
    } 
?> 
0
<?php 
    for ($i=1; $i<=5; $i++) { 
     echo $i." "; 
    } 
?> 
0
在for循環

,動輒就需要增加$ I值。但你忘了增加$ i的價值。您編寫了$ i + 1,但需要爲其分配$ i的新值。

總之,你應該改變$ I +1至$ I = $我+1或$ i ++在

權代碼:

<?php 
for ($i=1; $i<=5; $i = $i+1) { 
echo $i." "; 
} 
?> 
1

正是因爲$ I + 1在for循環中。這基本上是一個表達式,它會產生一個結果,但是你永遠不會把這個結果賦值給$ i。因此,你寧願做一些類似於$ i = $ i + 1的事情,或者在現實生活中使用incrementation $ i ++。所以最終代碼將如下所示:

for ($i = 1; $i <= 5; $i++) { 
    echo $i." "; 
} 
0

您不會更改循環中$i的值。要麼$i =$i +1要麼$i++而不是$i + 1會做。