有通常的遞歸功能。它重複兩次 - 第一主迭代和第二次迭代內:特定服務器上的遞歸失敗
function recursive() {
global $a, $stop;
$stop++;
foreach($a as $val) {
echo $val;
if ($stop < 2)
recursive();
}
}
$a = array(1,2);
$stop = 0;
recursive();
結果是1122
。一切都是對的。第二次迭代是第一次:1(12)2
我改變了我的服務器和新的服務器回聲112
。第二次迭代後第一個循環停止:1(12)
。
它總是停下來。只有一次迭代是可能的,然後完成。
這臺服務器有什麼問題?它是任何PHP的選擇或什麼?
您使用的是相同的名稱參數'$了'和'全球$ a',這是可疑的行爲可能會在不同版本的PHP中有所不同。儘管現在你編輯了代碼 - 你確定這是你的代碼嗎? – JJJ
爲什麼你使用全局$ a,如果你把它傳遞給函數? –
@Truth我不知道同樣的事情...... – Neal