$fp = @fsockopen($whoisserver, $port, $errno, $errstr, $timeout) or die("Socket Error " . $errno . " - " . $errstr);
    fputs($fp, $domain . "\r\n");
    $out = "";
    while (!feof($fp)){$out .= fgets($fp);}
    fclose($fp);问下 这里的 
$out = "";
    while (!feof($fp)){$out .= fgets($fp);}
于与    while (!feof($fp)){$out= fgets($fp);}有没区别  区别在哪

解决方案 »

  1.   

    $out.=
    相当于
    $out=$out.fgets($fp);
      

  2.   

    但是  $out = ""; 本身就是个空白的啊
      

  3.   

    $out = '';
    $out .= 'a';
    $out .= 'b';
    $out .= 'c';echo $out;abc
      

  4.   

    初始化操作,如果不初始化的话 $out的类型是null,与你想要的string不同 ,你可以var_dump看一下如果用$out来做条件判断的话,不初始化的话,可能会得到不可预料的结果
      

  5.   

    $out = "";
        while (!feof($fp)){$out .= fgets($fp);}
    可以取到$fp文件所有的内容$out = "";
        while (!feof($fp)){$out = fgets($fp);}
    取到的是$fp文件最后一行内容