2017-05-03 92 views
0

我正在遍歷$ _POST來將每個項目寫入文本文件。它正在工作,但儘管使用'strlen'來避免空白行,但我仍然得到一些。誰能告訴我爲什麼?這裏是我的代碼:爲什麼我會變空行

$entries = ""; 
$filename = "test.txt"; 
foreach($_POST as $value) { 
    if(is_array($value)) { 
     foreach($value as $subvalue) { 
      if (strlen($subvalue) > 5) { 
       $entries .= $subvalue . PHP_EOL; 
      } 
     } 
    } 
} 
file_put_contents($filename, $entries); 
+1

請加'var_export'爲'$ _POST';和'trim()'在開始和結束時刪除空格,如果你需要的話 – vv01f

+2

你是否得到空行或行只包含空格?也許你想在計算'strlen()'之前嘗試使用'trim()'? – domsson

+0

另外,如果某個'$ subvalue'在最後有一個換行符,那麼您添加一個會導致空行的附加字符。你可能也想檢查一下。 – domsson

回答

0

試試下面爲您的解決方案代碼:

$entries = ""; 
$filename = "test.txt"; 
foreach($_POST as $value) { 
    if(is_array($value)) { 
     foreach($value as $subvalue) { 
      if (strlen(trim($subvalue)) > 5) { 
       $entries .= $subvalue . PHP_EOL; 
      } 
     } 
    } 
} 
file_put_contents($filename, $entries);