(PHP 4, PHP 5)
array_walk — Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular
dizi dizisinin her elemanına kullanıcı tarafından tanımlanmış işlev işlevini uygular.
array_walk() işlevi dizinin dahili göstericisinin konumunda etkilenmez. Dizinin dahili göstericisini dikkate almaksızın dizi elemanları üzerinde sırayla işlem yapar.
İşleme sokulacak dizi.
Normalde, işlev iki değiştirge alır. İlki dizi değiştirgesi ikincisi ise indis veya anahtardır.
Bilginize:
Eğer işlev işlevinin doğrudan dizinin kendisi üzerinde işlem yapması gerekiyorsa işlevin ilk değiştirgesini bir gönderim olarak belirtin. Böylece elemanlar üzerinde yapılan her değişiklik özgün dizide yapılmış olur.
Kullanıcılar ekleme/silme gibi işlemlerle geriçağırım işlevinde işlem görmekte olan dizi üzerinde değişiklik yapmamalıdırlar. Eğer array_walk() uygulaması sırasında dizi değişikliğe uğrarsa bu işlevin davranışı beklendiği gibi olmayabilir.
Eğer isteğe bağlı veri değiştirgesi belirtilmişse, değeri işlev işlevine üçüncü değiştirge olarak aktarılır.
Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.
Eğer işlev belirtilenden daha fazla değiştirge gerektiriyorsa array_walk() işlevinin yaptığı her işlev çağrısında E_WARNING seviyesinde bir uyarı üretilir. Bu uyarılar array_walk() işlevinin adının önüne bir @ işleci getirilerek veya error_reporting() kullanılarak bastırılabilir
Örnek 1 - array_walk() örneği
<?php
$fruits = array("d" => "limon", "a" => "ayva", "b" => "muz", "c" => "elma");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br />\n";
}
echo "Önce ...:\n";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'fruit');
echo "... ve sonra:\n";
array_walk($fruits, 'test_print');
?>
Yukarıdaki örneğin çıktısı:
Önce ...: d. limon a. ayva b. muz c. elma ... ve sonra: d. meyve: limon a. meyve: ayva b. meyve: muz c. meyve: elma