下面是一个PHP脚本,它不干净也不友好或多或少需要指向它崩溃我的服务器的方向,我试图在我的服务器上查看我的错误日志但它崩溃了,我现在无法访问它.. ..我的PHP技能不是那么好...任何帮助表示赞赏:
$checker = 0;
function shuffleArray($myArray) {
$value_count = array_count_values($myArray);
$last_value = $myArray[count($myArray) - 1];
unset($myArray[count($myArray) - 1]);
$shuffle = array();
$last = false;
while (count($myArray) > 0) {
$keys = array_keys($myArray);
$i = round(rand(0, count($keys) - 1));
while ($last === $myArray[$keys[$i]] ) {
$i = round(rand(0, count($keys) - 1));
echo "stuck";$checker++;
if($checker>100){
echo " Too many checks so die, and restart process ";
exit;
}
}
$shuffle[] = $myArray[$keys[$i]];
$last = $myArray[$keys[$i]];
unset($myArray[$keys[$i]]);
}
if ($last_value === $last) {
$i = 0;
foreach($shuffle as $key=>$value) {
if ($value !== $last_value) {
$i = $key;
break;
}
}
array_slice($shuffle, $i + 1, 0, $last_value);
} else {
$shuffle[] = $last_value;
}
return $shuffle;
}
$shuffleReel = (shuffleArray($virtualReel));
function bob(){
if($checker>100){
$checker = 0;
shuffleArray();
echo "bob";
reset($myArray);
}
}
答案 0 :(得分:1)
在双引号(称为插值)中访问关联数组变量时,必须将它们包含在{}中。例如:
$reelFrame['value1'] = "{$ini_array['Symbol1']}";//notice I added {} around the array and encased Symbol1 in single quotes. The latter part is not necessary but recommended.
你必须为所有十行做到这一点。
答案 1 :(得分:0)
答案是循环中没有错误处理,所以发生了什么是我的服务器资源都用完了: 为了解决这个问题,我必须将null返回到脚本被触发的flash / Action脚本。
if($checker>100){
$returnString = http_build_query("Error_1); // for flash to restart script
echo $returnString;
exit;
}