array_walk

(PHP 4, PHP 5, PHP 7)

array_walkBir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular

Açıklama

array_walk ( array &$dizi , callback $işlev [, mixed $veri ] ) : bool

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.

Değiştirgeler

dizi

İşleme sokulacak dizi.

işlev

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.

veri

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.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Hatalar/İstisnalar

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

Örnekler

Ö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

Ayrıca Bakınız

  • array_walk_recursive() - Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular
  • iterator_apply() - Call a function for every element in an iterator
  • create_function() - Bir anonim (lamda tarzı) işlev oluşturur
  • list() - Değişkenlere bir dizi gibi atama yapar
  • each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • call_user_func_array() - Değiştirgelerin bir dizi olarak verildiği kullanıcı işlevini çağırır
  • array_map() - Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
  • callback türü hakkında bilgi
  • foreach