PHP में in_array() फ़ंक्शन जांचता है कि कोई निर्दिष्ट मान सरणी में मौजूद है या नहीं। यह सख्त (strict) मोड में प्रकार की भी जांच कर सकता है।
सिंटैक्स (Syntax)
in_array(mixed $needle, array $haystack, bool $strict = false): bool
पैरामीटर्स (Parameters)
$needle − खोजा जाने वाला मान।
$haystack − वह सरणी जिसमें खोज की जाएगी।
$strict (वैकल्पिक) − यदि
trueतो प्रकार की भी जांच करता है (=== तुलना)। डिफ़ॉल्टfalse।
रिटर्न वैल्यू (Return Value)
मान मिलने पर true, अन्यथा false लौटाता है।
उदाहरण (Examples)
उदाहरण 1: मूल खोज (गैर-सख्त मोड)
<?php
$students = array("Tom", "Amit", "Peter", "Rahul");
if (in_array("Amit", $students)) {
echo "Match!";
} else {
echo "No Match!";
}
?>
आउटपुट
Match!
उदाहरण 2: सख्त मोड (strict mode) में खोज
<?php
$arr = array("Tom", "Amit", "Peter", "Rahul", 5, 10);
// सख्त मोड: 5 (integer) मिलेगा
if (in_array(5, $arr, true)) {
echo "Match! (strict)";
} else {
echo "No Match! (strict)";
}
echo "
";
// गैर-सख्त मोड: "5" (string) भी मिल जाएगा
if (in_array("5", $arr, false)) {
echo "Match! (non-strict)";
} else {
echo "No Match! (non-strict)";
}
?>
आउटपुट
Match! (strict) Match! (non-strict)
उदाहरण 3: सरणी में सरणी खोजना
<?php $arr = array(array(1, 2), array(3, 4)); $needle = array(1, 2); var_dump(in_array($needle, $arr)); // true var_dump(in_array($needle, $arr, true)); // true ?>
प्रदर्शन नोट
बड़ी सरणियों में बार-बार खोज के लिए in_array() धीमा हो सकता है (O(n))। बेहतर प्रदर्शन के लिए सरणी को कुंजियों के साथ फ्लिप करें और isset() या array_key_exists() उपयोग करें (O(1)):
<?php $large = range(1, 100000); $flipped = array_flip($large); // तेज़ खोज isset($flipped[50000]); // true, बहुत तेज़ ?>