PHP में array_search() फ़ंक्शन सरणी में दिए गए मान को खोजता है और मिलने पर उसकी कुंजी (key) लौटाता है। यदि मान एक से अधिक बार मिले तो पहली मिलने वाली कुंजी लौटाता है।
सिंटैक्स (Syntax)
array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false
पैरामीटर्स (Parameters)
$needle − खोजा जाने वाला मान।
$haystack − वह सरणी जिसमें खोज की जाएगी।
$strict (वैकल्पिक) −
trueपर सख्त तुलना (===) करता है, प्रकार भी मिलना चाहिए। डिफ़ॉल्टfalse।
रिटर्न वैल्यू (Return Value)
मिलने पर कुंजी (int|string), न मिलने पर false।
⚠️ महत्वपूर्ण: false vs 0 या "" जांच
चूंकि 0 या "" वैध कुंजियाँ हो सकती हैं, हमेशा === false या !== false से जांचें:
<?php
$arr = ["first" => "apple", 0 => "banana"];
$key = array_search("banana", $arr);
if ($key !== false) { // सही: 0 !== false है true
echo "Found at key: $key";
} else {
echo "Not found";
}
// गलत: if ($key) { ... } // 0 पर false मानेगा
?>
उदाहरण (Examples)
उदाहरण 1: सख्त मोड में खोज
<?php
$arr = array("p" => 20, "q" => 20, "r" => 30, "s" => 40);
echo array_search(20, $arr, true); // आउटपुट: p (पहली मिली कुंजी)
?>
आउटपुट
p
उदाहरण 2: संख्यात्मक सरणी में खोज
<?php $arr = array(30, 2, 5, 7, 90, 35, 78); echo array_search(35, $arr, true); // आउटपुट: 5 (सूचकांक) ?>
आउटपुट
5
उदाहरण 3: स्ट्रिंग मानों वाली सरणी
<?php
$arr = array("MAC", "WINDOWS", "LINUX", "SOLARIS");
$search = "WINDOWS";
echo array_search($search, $arr, true); // आउटपुट: 1
?>
आउटपुट
1
उदाहरण 4: न मिलने पर false
<?php $arr = [1, 2, 3]; var_dump(array_search(5, $arr)); // bool(false) ?>
array_search() vs in_array()
| फ़ंक्शन | रिटर्न | उपयोग |
|---|---|---|
| in_array() | bool | केवल उपस्थिति जांच |
| array_search() | key|false | कुंजी चाहिए तो |
| array_keys() | array of keys | सभी मिलने वाली कुंजियाँ |