PHP脚本导致服务器错误

时间:2013-04-01 17:58:42

标签: php

下面是一个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);
}
  }

2 个答案:

答案 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;   
       }