我已經搜索了很長一段時間,現在我找不到爲什麼我的代碼不工作它是如何出現的。我不知道如果我有一個塊或任何東西,但這裏有雲:PHP foreach給出錯誤的結果
$start = 1;
$sstart = strval($start);
$scan = scandir('upload');
$result = null;
while($result==null)
{
foreach($scan as $value)
{
if(strpos($value,$start) == false)
{
$result = $start;
break 2;
}
else
{
$start = $start + 1;
break;
}
}
}
從本質上講,我想掃描我的目錄'upload'
與在$start
持有數量的任何文件。如果未找到該值,則$result
取值$start
,並且while()
循環結束。否則,我增加$start
並繼續檢查目錄中的每個文件。
現在我有一個非常類似的功能,像這樣運行在另一個完美工作的頁面上。然而,這似乎總是停在1.
我的上傳文件夾中有一個名爲showreel1.wmv
的文件,它肯定會掃描此文件。 (已回顯scandir數組)但是,它似乎從未切換到else
塊,但繼續設置$result
,好像它從未找到值「1」。
我也嘗試在strpos()
函數中使用$sstart
並且它沒有任何作用,這當然會將$start
的值更改爲一個字符串。
你們可以幫我解釋一下嗎?如果草堆與你正在尋找
這條線將返回一個假陽性針開始
你想要的最終結果是什麼? – Galen 2013-03-21 14:52:45
if(strpos($ value,$ start)=== false) – 2013-03-21 14:55:41