PHP में array_keys() फ़ंक्शन सरणी की सभी कुंजियाँ (keys) लौटाता है। वैकल्पिक रूप से किसी विशिष्ट मान वाली कुंजियाँ भी खोज सकता है।
सिंटैक्स (Syntax)
array_keys(array $arr, mixed $filter_value = null, bool $strict = false): array
पैरामीटर्स (Parameters)
$arr − इनपुट सरणी।
$filter_value (वैकल्पिक) − यदि दिया गया, तो केवल इस मान वाली कुंजियाँ लौटाई जाएँगी।
$strict (वैकल्पिक) −
trueपर सख्त तुलना (===) करता है। डिफ़ॉल्टfalse।
रिटर्न वैल्यू (Return Value)
कुंजियों की सरणी लौटाता है (संख्यात्मक सूचकांक 0 से शुरू)।
उदाहरण (Examples)
उदाहरण 1: सभी कुंजियाँ प्राप्त करना
<?php
$arr = array("one" => "Pen", "two" => "Pencil", "three" => "Paper", "four" => "Notepad");
print_r(array_keys($arr));
?>
आउटपुट
Array
(
[0] => one
[1] => two
[2] => three
[3] => four
)
उदाहरण 2: विशिष्ट मान वाली कुंजियाँ खोजना
<?php
$arr = array("one" => "Pen", "two" => "Notepad", "three" => "Paper", "four" => "Notepad");
print_r(array_keys($arr, "Notepad"));
?>
आउटपुट
Array
(
[0] => two
[1] => four
)
उदाहरण 3: सख्त तुलना (strict) का प्रभाव
<?php $arr = [10, "10", 10.0, true]; print_r(array_keys($arr, 10)); // गैर-सख्त: सभी मिलेंगे print_r(array_keys($arr, 10, true)); // सख्त: केवल integer 10 ?>
आउटपुट
Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ) Array ( [0] => 0 [1] => 2 )
उदाहरण 4: array_search() से तुलना
<?php $arr = ["a" => 1, "b" => 2, "c" => 1]; echo array_search(1, $arr); // "a" (पहली कुंजी) print_r(array_keys($arr, 1)); // ["a", "c"] (सभी कुंजियाँ) ?>
व्यावहारिक उपयोग
<?php // सरणी से कुंजियाँ निकालकर नई सरणी बनाना $data = ["id" => 1, "name" => "Amit", "email" => "a@b.com"]; $onlyNameEmail = array_intersect_key($data, array_flip(["name", "email"])); // या सरल: $keys = ["name", "email"]; $filtered = array_keys($data, ...); // PHP 8.0+ स्प्रेड ऑपरेटर नहीं, array_filter_keys उपयोग करें ?>