-1
我有这段代码。注意:对已定义的变量使用未定义的常量
$rollcount=0;
$rollcounts=array(); //I define $rollcounts here
$number_of_tries = 100;
foreach(range(0,$number_of_tries-1) as $i){
do{
$roll=rand(1,6);
$rollcount++;
}while($roll!=6);
array_push($rollcounts, $rollcount);
$rollcount = 0;
}
$freqs = array();
while (!empty($rollcounts)){
$freq = count(array_filter($rollcounts,function($a) use ($rollcounts)
{return $a == $rollcounts[0];}
));
$freqs[$rollcounts[0]] = $freq;
for($i=0;$i<count($rollcounts);$i++){
if(rollcounts[$i] == $rollcounts[0]){ // THIS IS LINE 40
unset($rollcounts[$i]);
}
}
} // redo until $rollcounts is empty
即生成此错误消息(线40已在代码注释)
说明:使用未定义的常量rollcounts的 - 假定 'rollcounts' /应用程序/ XAMPP/xamppfiles/htdocs中第40行
显然/learningphp/myfirstfile.php ,$rollcounts
已经在代码中定义。那么这里有什么问题?
缺少一个变量标识符'$',所以PHP认为这是一个常数。看看错误,这是一个未定义的*常量*,而不是未定义的变量。 – Qirel