PHP में array_key_exists() फ़ंक्शन जांचता है कि कोई निर्दिष्ट कुंजी सरणी में मौजूद है या नहीं। isset() के विपरीत, यह null मान वाली कुंजी के लिए भी true लौटाता है।
सिंटैक्स (Syntax)
array_key_exists(string|int $key, array $arr): bool
पैरामीटर्स (Parameters)
$key − जांची जाने वाली कुंजी।
$arr − वह सरणी जिसमें कुंजी खोजी जाएगी।
रिटर्न वैल्यू (Return Value)
कुंजी मौजूद होने पर true, अन्यथा false।
उदाहरण (Examples)
उदाहरण 1: मूल उपयोग
<?php
$arr = array("One" => "Tennis", "Two" => "Football", "Three" => "Cricket");
if (array_key_exists("Three", $arr)) {
echo "Key is in the array!";
} else {
echo "Key is not in the array!";
}
?>
आउटपुट
Key is in the array!
उदाहरण 2: array_key_exists() vs isset()
<?php
$arr = ["a" => 1, "b" => null, "c" => 3];
var_dump(array_key_exists("a", $arr)); // true
var_dump(array_key_exists("b", $arr)); // true (null मान लेकिन कुंजी मौजूद)
var_dump(array_key_exists("d", $arr)); // false
var_dump(isset($arr["a"])); // true
var_dump(isset($arr["b"])); // false (null मान पर false)
var_dump(isset($arr["d"])); // false
?>
उदाहरण 3: ऑब्जेक्ट्स पर उपयोग (PHP 7.0+ में हटाया गया)
PHP 7.0 से पहले ऑब्जेक्ट्स पर काम करता था, अब केवल सरणियों पर। ऑब्जेक्ट प्रॉपर्टी के लिए property_exists() उपयोग करें।
उदाहरण 4: प्रदर्शन - isset() तेज़ है
<?php $arr = range(1, 100000); // isset() - भाषा निर्माण, बहुत तेज़ $start = microtime(true); for ($i = 0; $i < 10000; $i++) isset($arr[50000]); echo "isset: " . (microtime(true) - $start) . "s\n"; // array_key_exists() - फ़ंक्शन कॉल, धीमा $start = microtime(true); for ($i = 0; $i < 10000; $i++) array_key_exists(50000, $arr); echo "array_key_exists: " . (microtime(true) - $start) . "s\n"; ?>
कब कौन उपयोग करें?
| स्थिति | सुझाव |
|---|---|
| सामान्य कुंजी जांच, प्रदर्शन महत्वपूर्ण | isset() |
| null मान वाली कुंजी जांचनी हो | array_key_exists() |
| केस-इनसेंसिटिव कुंजी जांच | array_key_exists() + strtolower |
| ऑब्जेक्ट प्रॉपर्टी जांच | property_exists() |