我在错误日志中出现致命错误,但由于某种原因它根本不会影响应用程序。这是正在运行的代码,因为它生成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'];
}
在回显变量
时仍然在最后一行得到错误答案 0 :(得分:0)
$scores[$i]
不是数组,因此PHP阻止您为$val
处的索引赋值。你可能想要这个:
if(is_array($scores[$i]) && empty($scores[$i][$val])){
$scores[$i][$val] = '';
}
答案 1 :(得分:0)
我对您的代码进行了一些更改,以检查问题所在:
<?php
$tournament['num_score_fields'] = 10;
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] = '';
echo 'a';
}
}
}
?>
和输出为:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
老兄,这里没有错误......可能是由于其他原因造成的。再次从上到下检查代码或显示确切的错误。