2011-07-25 125 views
1
<?php 
    $i == array(1, 2); 
    $j == array(a, b); 
    $m == count($j); 
    $n == count($i); 
    for ($i = 0; $i < $m; i++) 
    { 
    for ($j = 0; j < $n; j++) 
    { echo $i."x"$j; } 
    } 
?> 

的錯誤引用行6:for ($i = 0; $i < $m; i++)爲什麼此代碼會導致預期的「)」錯誤?

+0

'{echo $ i。「x」$ j; }'這裏的語法錯誤 - ''x「'和'$ j'之間沒有操作符。 –

回答

8

for ($i = 0; $i < $m; $i++)

注意我之前i++

同樣增加了美元符號去爲其他for聲明:

for ($j = 0; $j < $n; $j++)

奇怪的錯誤,但它i不是一個變量(雖然PHP可能會標記一個E_NOTICE並將其轉換爲'i'。你想引用你的變量,所以你必須在之前添加一個$


最有可能你想要的是:

<?php 
    $iArray = array(1, 2); 
    $jArray = array('a', 'b'); 
    $n = count($iArray); 
    $m = count($jArray); 
    for ($i = 0; $i < $n; $i++) { 
    for ($j = 0; $j < $m; $j++) { 
     echo $iArray[$i] . "x" . $jArray[$j]; 
    } 
    } 
?> 

的事情,我改變了:

  • ==用於比較,=用於分配
  • 第二陣列I假設你想要字符串文字'a''b',但你也可以想要$a$b如果您在其他地方聲明這些變量
  • 您將$i分配給一個數組,然後在for for循環中用$i = 0覆蓋它。您很可能希望兩個變量
  • 失蹤$ S,就像我上面
  • 提到
  • $m正在使用的變量$jArray數,但你用它來遍歷$iArray

所以只是幾個指針,刷上你PHP,並嘗試確保你的代碼適用於每一個小的變化。進行1次修改,然後運行它。 PHP語法很容易丟失,因爲它是如此動態的腳本語言

+2

我很難把它叫做'怪異',如果一個常量(如果不是通知),'i ++'不會,所以它說「而不是'++',我希望' )'」。 – Wrikken

+1

有些人在這裏也告訴我。我一直在看它,實際上看到了$符號。這不奇怪嗎?我越看着它,它就越像是一個美元符號。然後突然間,它襲擊了我。沒有任何美元符號! –

+1

無論如何,我注意到的問題,感謝你,是:使用太少的變量,不把$放在變量之前,不正確地使用等號運算符,並且不在我的字符串文字周圍加引號。由於缺少$,導致T_INC錯誤。謝謝。 –

3

您有一堆平等檢查。我假設你實際上是分配變量而不是檢查平等。

改變這一切==平等檢查作業(=)

1

您也可以在第9行不當級聯和我加了一個註釋指出了另一個可能的錯誤。

$i == array(1, 2); 
$j == array($a, $b); // <--Put in $ signs if these are variables in the array 
$m == count($j); 
$n == count($i); 
for ($i = 0; $i < $m; $i++) 
{ 
    for ($j = 0; $j < $n; $j++) 
    { echo $i."x".$j; } 
} 
+0

哦,你是指失蹤者。?我在最後選擇了這個。多酷,你首先注意到它。 :) –

相關問題