-1

エラー ログに致命的なエラーが記録されていますが、何らかの理由でアプリケーションにまったく影響がありません。これは実行中のコードであり、PHP エラーを生成する理由がわかりません。

for ($i = 1; $i <= $tournament['num_score_fields']; $i++) {

            $scoresArrayTemp = array(
                'score',
                'dist',
                'dateShot',
                'tens', 
                'nines'
                );

            foreach($scoresArrayTemp AS $val){
                if(empty($scores[$i][$val])){
                    $scores[$i][$val] = ''; 
                }
            }
}

エラーはこの行によって生成されます

$scores[$i][$val] = ''; 

どんな助けでも大歓迎ですありがとう!

回答 1 に基づいて、コードを次のように変更しました。

for ($i = 1; $i <= $tournament['num_score_fields']; $i++) {


            $scoresArrayTemp = array(
                'score'=>'',
                'dist'=>'',
                'dateShot'=>'',
                'tens'=>'', 
                'nines'=>''
                );

            if(!is_array($scores[$i])){
                $scores[$i] = $scoresArrayTemp;
            }

            echo $scores[$i]['score'];
}

変数をエコーアウトすると、最後の行でまだエラーが発生します

4

2 に答える 2

0

$scores[$i]は配列ではないため、PHP は のインデックスに値を割り当てることを妨げています$val。おそらくこれが必要です:

if(is_array($scores[$i]) && empty($scores[$i][$val])){
    $scores[$i][$val] = ''; 
}
于 2013-08-23T17:47:50.050 に答える