2016-09-09 7 views
-2

私はいつもテーブルの最初の配列にエラーがあります。php foreachエラーの最初の行

foreach ($status_lines as $status_line) { 
    $xxx [] = $status_line -> status ; 
    } 

    if (count(array_unique($xxx)) == 1 && end($xxx) == 'REJECTED') { ?> 
    <b class="text-gray"> N/A </b> 
    <?php } 

    elseif (count(array_unique($xxx)) == 1 && end($xxx) == 'NOT APPROVED') { ?> 
    <b class="text-gray"> N/A </b> 
    <?php } 

それが結果:メッセージ:未定義の変数:XXX

が、第2ラインのを最後に表にすることはOKです...

+1

は 'E_FATAL'いや、致命的なエラーが...私の悪い実行 – Karthi

答えて

1

変数$ xxxがforeachブロック内で定義されています。他の場所では定義されていません。

グローバル変数などのブロック外に定義:

$ XXX =配列();次のように

その後、あなたのforeachループを続ける:

foreach ($status_lines as $status_line) { 
    $xxx[] = $status_line -> status ; 
} 
... 
+0

感謝の男を停止しているだろう – Mauliardiwinoto

1

として使用する前にそれを定義します
$xxx = array(); 
foreach ($status_lines as $status_line) { 
    $xxx[] = $status_line -> status ; 
    } 

新しいarrayを宣言していない場合、/ updaを作成するデータ配列が何らかの理由で失敗すると、配列を使用しようとする将来のコードは配列が存在しないためwarningになります。

たとえば、配列が宣言されておらず、値が追加されていない場合、foreach()はエラーをスローします。ただし、宣言した場合と同様に、配列が単に空の場合はエラーは発生しません。

+0

最初の配列を定義します... –