調試看起來像是一個簡單的問題,我擔心這個模塊可能有問題,我忽略了它的簡單性:解析PHP數組時遇到不正確的重複問題
function sendUploads(array $files)
{
$fileCount = count($files)-1;
$lastFile = false;
foreach ($files as $fileKey => $file) {
if ($fileKey == $fileCount) {
$file = $file . ' is the lastfile';
}
$uploads[] = $file;
}
var_dump($uploads);
}
$files = array('file1', 'file2', 'file3', 'file4', 'file5');
sendUploads($files);
預期的結果將是:
array(5) {
[0] =>
string(5) "file1"
[1] =>
string(5) "file2"
[2] =>
string(5) "file3"
[3] =>
string(5) "file4"
[4] =>
string(21) "file5 is the lastfile"
}
但在某些邊緣情況,我們看到這樣的結果,而不是:
array(5) {
[0] =>
string(5) "file1"
[1] =>
string(5) "file2"
[2] =>
string(5) "file3"
[3] =>
string(5) "file4"
[4] =>
string(21) "file5 is the lastfile"
[5] =>
string(21) "file5 is the lastfile"
}
在我所有的測試中,我都得到了第一個結果,但是有一個潛在的情況我錯過了這個函數可能導致這個問題的地方?
謝謝你的時間。
第二個例子是不可能的,你發佈的代碼。請粘貼完整或實際的代碼。 – Daan
「在一些邊緣情況下」這些情況具體是什麼? –
根本看不到這是可能的。 foreach()不會因爲它的頭髮日不好而神奇地重複一次額外的時間。 –