簡體   English   中英

如何在此循環中跳過空結果或錯誤?

[英]How do I skip empty result or errors in this loop?

我確實有一個將數據存儲到mysql中的循環...

/connect to your database 
//read your text file into an array, one entry per line

$lines = file('name.txt'); 

//loop through each website URL you read from the file 
foreach ($lines as $name) { 

//do some code
//Insert data to MySQL
 mysql_query("INSERT INTO table (data1,data2) VALUES ('$data1','$data2')");

} 

我的問題是當代碼返回空..然后給出錯誤並停止...所以我如何跳過此操作並繼續使用下一個名稱,這樣循環就不會停止直到完成?

foreach($lines as $line){
    if(empty(trim($line)){ continue; }
    // do your insert, etc.
}

如果您只想檢查一個空行,則可以這樣做。

祝好運!

您可以嘗試像這樣打開文件:

file('name.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

根據php.net上文件的文檔,這可能有效。

空檢查: if(trim($var) == '')

如果要使用if(empty(trim($var))) ,請閱讀手冊中的空白:

empty()僅檢查變量,否則將導致解析錯誤。 換句話說,以下內容將不起作用:empty(trim($ name))。

跳過當前循環的其余部分 :如果可以進行檢查,則可以使用Continue 這將跳過實際的循環並繼續下一個循環。

讀取文件 :如Phoenix所述,以下代碼為您提供了一個表示文件的數組:

// Using the optional flags parameter since PHP 5
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

FILE_IGNORE_NEW_LINES刪除\\ n,但在數組中保留一些空元素。 FILE_SKIP_EMPTY_LINES和FILE_IGNORE_NEW_LINES一起刪除空行。 空意味着只有\\ n在這一行! 如果其中有空格字符,則說明它不是空的!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM