2014-03-27 64 views
0

我預計這個數字會在每次提醒時都會增加,但結果是相同的數字是0.爲什麼php變量不能使用javascript循環?

我知道爲什麼嗎?

我需要這樣做,因爲在我的真實代碼中,$ wow表示從服務器檢索到的值,我需要使用javascript for loop來計算我定位的數字元素。

我該怎麼做?

這裏是我的代碼:

<html> 
<head> 
<script> 
<?php $wow = 0; ?> 
for(var i =0; i < 4; i++){ 
    alert("<?php echo $wow; ?>"); 
    <?php $wow++; ?> 
    } 
</script> 
<body> 
</body> 
</html> 
+6

PHP在服務器端執行,客戶端使用JavaScript。它的工作方式是這樣的:瀏覽器使請求' - >'服務器接收請求' - >'服務器執行PHP' - >'服務器發送響應/ HTML' - >'瀏覽器接收響應/ HTML' - >'瀏覽器解析HTML /執行JS。只需瀏覽一下瀏覽器中的文檔源代碼,那裏就沒有PHP,因爲它已經被執行了(在服務器上)。 –

+0

被稱爲[客戶端 - 服務器模型](http://en.wikipedia.org/wiki/Client%E2%80%93server_model) – elclanrs

+2

@FelixKling: - 您可以將此發佈爲答案而非評論。我一定會喜歡! –

回答

4

PHP是在服務器端,JavaScript執行在客戶端。

它的工作方式是這樣的:

  1. 瀏覽器發出請求
  2. 服務器接收請求
  3. 服務器執行PHP
  4. 服務器發送響應/ HTML
  5. 瀏覽器接收響應/ HTML
  6. 瀏覽器解析HTML /執行JS。

看看瀏覽器中的文檔源代碼,那裏沒有PHP,因爲它已經被執行(在服務器上)。


你可以做的,而不是爲注入PHP變量的值轉換爲JavaScript源代碼和操作使用JavaScript值:

var wow = <?php echo $wow; ?> 
for(var i =0; i < 4; i++){ 
    alert(wow); 
    wow++; 
} 

參見

0

這個怎麼樣:

<html> 
<head> 
<script> 
<?php 
    $wow = 0; 
    while($wow < 4){ 
     echo "alert('" . $wow++ . "')"; 
    } 
?> 
</script> 
<body> 
</body> 
</html> 
0

php腳本執行服務器端按@Felix克林評論..

不定義變量PHP作爲PHP腳本執行服務器端不客戶端像javscript

你需要改變腳本如..

var wow = <?php echo $wow; ?> 

for(var i =0; i < 4; i++){ 
    alert("<?php echo wow; ?>"); 
    <?php echo wow++; ?> 
    } 

,但沒有任何意義使用/通過PHP腳本創建變量

,你可以只是簡單的寫這樣

var wow = <?php echo $wow; ?> 
    for(var i =0; i < 4; i++){ 
     alert(wow); 
     wow++; 
     }