2010-01-03 139 views
0

我有一個腳本,它允許用戶創建一個簡單的調查,每個調查的ID存儲在用逗號分隔的文本文件逗號:像這樣:諮詢,處理

001,003,005, 

然後我用一個foreach循環從文本文件中獲取這些輪詢ID。

所有相對簡單,但是我在文件中創建文本行的方式總是在每個ID的末尾添加逗號(,)。這將引發以下錯誤爲PHP:

Warning: Invalid argument supplied for foreach() in 

我如何確保ID的列表永遠不會以逗號結尾,或者它會被忽略?就像這樣:

001,003,005 

這是我當前如何添加ID:該ID是時間加上 '正品':我添加逗號的fwrite($ handle2, 「正品」

if ($handle2) { 
     fwrite($handle2, "tpid".time().","); 
     fclose($handle2); 
    } 

所以在這裏。時間()。」,」);

而且我得到的ID的從文本文件中,像這樣:

$pollids = "pollids.txt"; 
$contents = file_get_contents($pollids); 
$pollfields = explode(',', $contents); 

回答

6

用第3行修剪開始/結束逗號(下)

$pollids = "pollids.txt"; 
$contents = file_get_contents($pollids); 
$contents = trim($contents, ','); 
$pollfields = explode(',', $contents); 
+0

我相信這是最簡單的方法。 – 2010-01-03 19:36:22

1
  • 爲什麼不預先掛起呢?
  • 爲什麼不在implode保存到文件之前?
  • 爲什麼不在處理前檢查null
1

做這樣的事情:

,如果它是一個新的文件寫入只是你的「ID」

,如果它是一個現有的文件,寫你的ID如下:',tpid' . time()

那方式你不會在文件結尾處得到逗號