array_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Açıklama

array_walk(array|object&$dizi, callable$işlev, mixed$veri = null): 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.

Bağımsız Değişkenler

dizi

İşleme sokulacak dizi.

işlev

Normalde, işlev iki bağımsız değişken alır. İlki dizi bağımsız değişkeninin değeri, 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 bağımsız değişkeni bir gönderim olarak belirtilir. Böylece elemanlar üzerinde yapılan her değişiklik özgün dizide de yapılmış olur.

Bilginize:

Birçok dahili işlev, (örneğin, strtolower()), beklenenden fazla bağımsız değişken aktarılırsa ve doğrudan işlev olarak kullanılamazsa bir uyarı çıktılar.

Potansiyel olarak yalnızca dizi değerleri değiştirilebilir; yapısı değiştirilemez, yani programcı öğeleri ekleyemez, ayarlayamaz veya yeniden sıralayamaz. Geri çağırım işlevi bu gereksinimi karşılamıyorsa, array_walk() işlevinin davranışı tanımsızdır ve öngörülemez.

veri

Eğer isteğe bağlı veri bağımsız değişkeni belirtilmişse, değeri işlev işlevine üçüncü bağımsız değişken olarak aktarılır.

Dönen Değerler

true döner.

Hatalar/İstisnalar

PHP 7.1.0'dan itibaren, geri çağırım işlevi 2'den fazla bağımsız değişken (dizi üyesinin değeri ve anahtarı) gerektiriyorsa veya isteğe bağlı veri bağımsız değişkeninin belirtilmesi durumunda 3'ten fazla bağımsız değişken gerektiriyorsa, bir ArgumentCountError istisnası üretilir. Evvelce, işlev belirtilenden daha fazla bağımsız değişken gerektirdiğinde array_walk() işlevinin yaptığı her işlev çağrısında E_WARNING seviyesinde bir uyarı üretilirdi.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0işlev geri çağırım işlevinin ikinci ve üçüncü bağımsız değişkeni için de gönderimli bağımsız değişken gerekiyorsa bu işlev artık E_WARNING seviyesinde bir uyarı üretiyor.

Ö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\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

Örnek 2 - İsimsiz işlev kullanılan array_walk() örneği

<?php
$elements
= ['a', 'b', 'c'];

array_walk($elements, function ($value, $key) {
echo
"{$key} => {$value}\n";
});

?>

Yukarıdaki örneğin çıktısı:

0 => a 1 => b 2 => c

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
  • 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() - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
  • array_map() - Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
  • foreach
To Top