Giriş yap

PHP'de array_keys() Fonksiyonu
PHP 4PHP 5PHP 7

Belirtilen diziye ait tüm anahtarları geriye döndürür.

Yapısı (Syntax)array_keys ( array $array , mixed $search_value [, bool $strict = FALSE ] ) : array

Parametreler

  • $array array
    Anahtarların döndürüleceği dizi
  • $search_value mixed
    Değerler içerisinde arama yapılacak kelime
  • $strict = FALSE boolean
    Arama yaparken eşittir yerine denktir ifadesiyle arama yapacaktır.

Dönen Değer

array - Belirtilen dizilerin anahtarları bir dizi olarak geriye döner.

Örnekler

Bir dizinin tüm anahtarlarını bir dizi halinde görelim.

<?php

$dizi = [
    'ad' => 'Tayfun',
    'soyad' => 'Erbilen',
    'site' => 'https://prototurk.com',
    19,
    'PROTOTURK'
];

echo '<pre>';
print_r(array_keys($dizi));
/*
Array
(
    [0] => ad
    [1] => soyad
    [2] => site
    [3] => 0
    [4] => 1
)
*/

?>

İç içe dizilerde tüm anahtarlar için fonksiyon işe yaramamaktadır. Onun yerine aşağıdaki gibi bir alternatif yazılabilir.

<?php

function all_array_keys($arr)
{
    static $keys = [];
    foreach ($arr as $key => $val){
        $keys[] = $key;
        if (is_array($val))
            return all_array_keys($val);
    }
    return $keys;
}

$arr = [
    'ad' => 'tayfun',
    'soyad' => 'erbilen',
    'a' => [
        'b' => 'c',
        'd' => [
            'e' => 'f'
        ]
    ]
];

$keys = all_array_keys($arr);
print_r($keys);
/*
Array
(
    [0] => ad
    [1] => soyad
    [2] => a
    [3] => b
    [4] => d
    [5] => e
)
*/

?>

Değeri eşleşen anahtarları döndürmeye bir örnek verecek olursak;

<?php

$dizi = [
    'Tayfun',
    'Güner',
    'Hakan',
    'Tayfun',
    'Burak',
    'ad' => 'Tayfun',
    'Tayfun'
];

print_r(array_keys($dizi));
/*
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => ad
    [6] => 5
)
*/

?>

3. parametreyi kullanarak aranan değeri denkse olarak kontrol edilecek bir örnek vermek gerekirse;

<?php

$dizi = [
    1,
    'yas' => '1',
    'yasi' => 1
];

print_r(array_keys($dizi, 1));
/*
Array
(
    [0] => 0
    [1] => yas
    [2] => yasi
)
*/

print_r(array_keys($dizi, 1, true));
/*
Array
(
    [0] => 0
    [1] => yasi
)
*/

?>

tayfunerbilen
37 gün önce eklendi.
Github'da Düzenle