2011-07-25 21 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:私はi++なぜこのコードはExpected ")"エラーを引き起こしますか?

同じ前に追加ドル記号は、あなたの他のfor文に行くfor ($i = 0; $i < $m; i++)

+0

'{echo $ i。" x "$ j; } 'syntax error here - ' 'x" 'と' $ j'の間に演算子がありません。 –

答えて

8

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

注:

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

実際にはWierdエラーですが、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ループの場合は$i = 0で上書きします。あなたは、最も可能性の高いする2つの変数
  • 私は
  • 前述したように、 $秒欠け $m$jArrayの変数の数のために使用されていたが、あなたは反復するためにそれを使用し
  • ので

$iArrayオーバーほんの少しのポインタ、あなたの上でぼかしてください PHPそしてあなたのコードがすべての小さな変更で動作することを確かめてください。 1つの変更を行い、それを実行します。このような動的なスクリプト言語であるため、PHPの構文で迷子になるのは非常に簡単です。

+2

私はほとんどそれを「奇妙なもの」と呼ぶことはないでしょう。定数(そしてもしそうでなければ通知)が「i ++」でないならば、「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

ああ、行方不明を意味する?私は最後にそれを選んだ。どのようにクール、あなたはそれが最初に気づいた。 :) –

関連する問題