PHP 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 arrayAnahtarların döndürüleceği dizi
-
$search_value mixedDeğerler içerisinde arama yapılacak kelime
-
$strict = FALSE booleanArama 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
)
*/
?>