請諒解遲到的標題。我的號碼不夠好嗎?
這個問題與variable by reference
有關。
假設我們有一點點for
循環是這樣的:
for($i = 0; $i < 5; $i++) {
$r = 15;
$t = &$i + $r;
array_push($a, $t);
}
預期輸出:
Array
(
[0] => 15
[1] => 16
[2] => 17
[3] => 18
[4] => 19
)
返回的輸出:
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
)
然而,如果我有什麼像這樣:
for($i = 0; $i < 5; $i++) {
$r = 15;
$num = &$i;
$t = $num + $r;
array_push($a, $t);
}
它返回上述確切的預期結果。
請問有人可以提供一些解釋。
'$ t =&$ i + $ r'是什麼意思?'應該這樣做?!答案是*某事引用了某事物*,任何人都可以詳細瞭解它們是否傾向於有足夠的時間。 *真實的*答案是*爲什麼你這樣做的第一位?!* – deceze
@deceze它看起來很愚蠢是的,我試圖找出爲什麼第一個例子不會工作,而第二個。這不是用於生產或任何事情,它在這裏是爲了通過參考更好地理解變量。 – Darren
FWIW我會說未定義的行爲導致未定義的結果。我甚至無法解釋這條線是應該做什麼的,所以我不擔心它不這麼做...... P – deceze