PHP, 5.3 olmayan parçacığı güvenli pencere, aynı zamanda Linux üzerinde PHP 5.2.9 kanıtlanmıştır.
Örnek kod:
$test1 = array(
array("val"=>"a"),
array("val"=>"b"),
array("val"=>"c")
);
foreach($test1 as $key => $test)
{
echo $test['val'] . "\n";
}
foreach($test1 as $key => &$test)
{
echo $test['val'] . "\n";
}
foreach($test1 as $key => $test)
{
echo $test['val'] . "\n";
}
çıktı:
a
b
c
a
b
c
a
b
b
Expected çıktı:
a
b
c
a
b
c
a
b
c
Peki ne olur? Benim ilk düşünce dizi işaretçi bir şekilde dahil olduğunu ... o reset
hiçbir şey yapmadı değil. Sonra referans bir şekilde değerlerini değiştirerek düşündüm, ama hayır, ben &test
ile çalıştırmak tekrar yerine beklenen çıkış, referans kullanarak ilk döngü sonra, ancak OLMADAN herhangi bir döngü ortaya sonuncusunun Referans Bu beni tamamen şaşkına bırakır .... son değeri değişecektir. Herkes bana bir açıklama verebilir misiniz?