0

私が間違っていなければ、if ステートメントまたは条件付きループ ブロックで初めて新しい PHP 変数を使用していました。言いたいことは以下のようなものです。

<?php

    for($i=0;$i<10; $i++)
    {
        $total += $i;
        $concat .= $i;
    }
 ?>

しかし、今日、エラー ログを見ると、$total と $concat は未定義の変数であると表示されています。それから私はこれを書きます

    $total = 0;
    $concat="";   
    for($i=0;$i<10; $i++)
    {
        $total += $i;
        $concat .= $i;
    }
 ?>

エラーなく動作します。なんで?好奇心だけを求める。

4

2 に答える 2

4

なぜなら:

$total += $i;
$concat .= $i;

実際には次のことを意味します。

$total  = $total+$i;
$concat = $concat.$i;

初めてループを実行し、$total未定義$concatです。したがって、エラーが発生します。

詳細:

ループの最初の実行中に、あなたは書いています

$total = the value of undefined $total + $i;

これで、合計が定義されました。$concat についても同様です。

于 2013-03-20T21:35:00.343 に答える
1

変数は、使用する前に宣言する必要があります。エラー報告によっては、エラーは表示されません。

于 2013-03-20T21:36:51.223 に答える