$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
$ Anahtar bir dizi indeksi anlamına mı geliyor?
&$variable_name
referans geçiş yapmanın PHP'nin yoludur:
Bkz: http://php.net/manual/en/language.references.pass.php
For more of an explaination of what references are see: http://www.php.net/manual/en/language.references.whatare.php
İki farklı soru var. Ampersanı hakkında ilk cevaplamak için (&
):
Gördüğünüz zaman &
, bir değişkenin önüne geçti, bu gerçek değişken değil bunun bir kopyası ile birlikte çalışıyor olacak demektir. Sizin örnek ile $value
, genellikle gerçek $value
bir kopyası olacağını, böylece değişken için yapılan değişiklikler diziyi etkilemez olmaz. Eğer bunun önünde &
koyduğunuzda Ama, gerçek bir dizi veri ile çalışıyoruz.
Ikinci sorunuzu yanıtlamak için, evet, $key
nümerik veya ilişkilendirilebilir olsun, dizinin bir endeks.
&
Eğer $value
değerleri değiştirmenize olanak verir. Sen olmadan çalışarak deneyebilirsiniz. Tarafından başvuru geçirerek denir.
Eğer düzenli bir dizi yerine bir ilişkisel dizi göstermek için örnek burada $key
açıklamak için çok büyük değil. Burada göstermek için iyi bir örnek $key
.
$a = array(
"red" => 1,
"green" => 2,
"blue" => 3,
"white" => 17 /* btw, I patent the white pixel! */
);
foreach ($a as $key => $value) {
echo "key $key, val $value";
}