Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导致服务器错误的PHP脚本_Php - Fatal编程技术网

导致服务器错误的PHP脚本

导致服务器错误的PHP脚本,php,Php,下面是一个php脚本,它不干净,也不友好或多或少需要一个方向,为什么它崩溃我的服务器,我试图查看我的服务器上的错误日志,但它崩溃了,我现在无法访问它…我的php技能不是很好。。。感谢您的帮助: $checker = 0; function shuffleArray($myArray) { $value_count = array_count_values($myArray); $last_value = $myArray[count($myArray) - 1]; unse

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

当访问双引号中的关联数组变量(称为插值)时,必须将它们封装在{}中。例如:


$reelFrame['value1']=“{$ini_数组['Symbol1']}”//注意,我在数组周围添加了{},并用单引号将Symbol1括起来。后一部分不是必需的,但建议使用。


您必须对所有十行执行此操作。

答案是循环中没有错误处理,因此发生的是我的服务器资源已全部用完: 为了解决这个问题,我必须将null返回到启动脚本的flash/Action脚本

       if($checker>100){
        $returnString = http_build_query("Error_1); // for flash to restart script
                     echo $returnString;
        exit;   
       }

为什么你不能访问你的日志?这太乱了。。。在发布你所有的PHP之前,你能缩小范围吗?由于内存问题,无法访问我的服务器,我说在循环过程中,在“太多检查和死亡”行附近发生了错误。我不认为它已经死亡。我真的不明白为什么这个问题被否决,Shuffarray中的
while
循环永远不会终止-只要
$myArray
中有值,它就会运行,但循环中的任何代码都不会从该数组中删除项。你得到的是一个无限循环。或者,你可以去掉你正在访问的数组变量周围的双引号:p无论如何都应该在数组中有reelframes,而不是十行,目前,所有这些都是actionscript读取的,所以现在我把这段代码留了一段时间……我不是php开发人员,我理解,但您仍然应该检查一下,因为没有大括号可能会导致致命错误,具体取决于您的服务器设置:)