Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 当您已经为另一个循环设置了时间限制时,执行一个while循环_Php_Loops_While Loop_Timed - Fatal编程技术网

Php 当您已经为另一个循环设置了时间限制时,执行一个while循环

Php 当您已经为另一个循环设置了时间限制时,执行一个while循环,php,loops,while-loop,timed,Php,Loops,While Loop,Timed,哦,天哪,我在这里陷入了困境。 让我们从分享我的一些代码开始 ini_set('max_execution_time', 0); ini_set('default_socket_timeout', 0); set_time_limit(0); ignore_user_abort(true); $data = ''; $server = pfsockopen("//", 9001, $errno, $errdesc, 99999); socket_set_timeout($server, 0);

哦,天哪,我在这里陷入了困境。 让我们从分享我的一些代码开始

ini_set('max_execution_time', 0);
ini_set('default_socket_timeout', 0);
set_time_limit(0);
ignore_user_abort(true);
$data = '';
$server = pfsockopen("//", 9001, $errno, $errdesc, 99999);
socket_set_timeout($server, 0);

while(!feof($server))
{
  $data .= fgets($server, 2048);
  parse_str($data);
  if(!$data == '')
  {
    if($prot == "message")
    {
      message($destination, $body, $time);
    }
    else
    {
      return "cocks";
    }
  }
  sleep(1);
}
基本上是这样。我希望此脚本能够立即运行,因为它侦听聊天服务器。它需要聊天服务器的输入和它想要发送消息的可选时间。我的函数看起来有点像这样:

function message($destination, $body, $time)
{
  do
  {
    socket connection
    if(! socket isn't available)
    {
      return "$errno ($errdesc)";
    }
      else
      {
          while(true)
          {
              while true write some stuff.
          }
        }
  } while(true);
}
我正在努力解决的部分是函数,因为它只是不想在之后停止。任何帮助都将不胜感激

我不想要JAVASCRIPT/ETC替代方案。这必须在PHP中完成


仍在此处寻求帮助。

是否有一些条件可以中断内部while循环?最初在函数中,它将通过执行$yoloend=time+time来超时;虽然$yoloend>时间,但它不会工作,我假设这是因为第一个函数试图无限地运行消息?即使当你发送聊天信息时,它也会回复一些狗屎\n