PHP में array_map() फ़ंक्शन सरणी के प्रत्येक मान पर कॉलबैक फ़ंक्शन लागू करके नई सरणी बनाता है। एकाधिक सरणियों पर समानांतर मैपिंग भी कर सकता है। मूल सरणी(याँ) अपरिवर्तित रहती हैं।
सिंटैक्स (Syntax)
array_map(callable $callback, array $arr1, array ...$arrays): array
पैरामीटर्स (Parameters)
$callback − कॉलबैक फ़ंक्शन। एक सरणी के लिए 1 तर्क, एकाधिक सरणियों के लिए प्रत्येक सरणी का 1-1 तर्क।
$arr1 − पहली सरणी।
$arrays (वैकल्पिक) − अतिरिक्त सरणियाँ।
रिटर्न वैल्यू (Return Value)
कॉलबैक लागू करने के बाद बनी नई सरणी लौटाता है।
उदाहरण (Examples)
उदाहरण 1: एकल सरणी पर फ़ंक्शन लागू करना
<?php
function square($n) {
return $n * $n;
}
$arr = array(1, 2, 3);
$result = array_map("square", $arr);
print_r($result);
?>
आउटपुट
Array
(
[0] => 1
[1] => 4
[2] => 9
)
उदाहरण 2: एकाधिक सरणियों पर समानांतर मैपिंग
<?php
$arr1 = array(1, 2, 3);
$arr2 = array("steve", "david", "nadal");
$arr3 = array("cricket", "football", "tennis");
$result = array_map(null, $arr1, $arr2, $arr3);
// null कॉलबैक = सरणी की सरणी बनाता है
print_r($result);
?>
आउटपुट
Array
(
[0] => Array ( [0] => 1 [1] => steve [2] => cricket )
[1] => Array ( [0] => 2 [1] => david [2] => football )
[2] => Array ( [0] => 3 [1] => nadal [2] => tennis )
)
उदाहरण 3: कॉलबैक के साथ एकाधिक सरणियाँ
<?php $nums1 = [1, 2, 3]; $nums2 = [10, 20, 30]; $result = array_map(fn($a, $b) => $a * $b, $nums1, $nums2); print_r($result); // [10, 40, 90] ?>
उदाहरण 4: सहयोगी सरणी पर (कुंजियाँ संरक्षित नहीं होतीं डिफ़ॉल्ट रूप से)
<?php $arr = ["a" => 1, "b" => 2]; $result = array_map(fn($v) => $v * 10, $arr); print_r($result); // [0 => 10, 1 => 20] - कुंजियाँ खो गईं // कुंजियाँ संरक्षित करने के लिए: $result = array_map(fn($k, $v) => [$k => $v * 10], array_keys($arr), $arr); // या PHP 8.0+ में array_map में ARRAY_FILTER_USE_KEY नहीं, foreach उपयोग करें ?>
array_map() vs array_walk()
| विशेषता | array_map() | array_walk() |
|---|---|---|
| रिटर्न | नई सरणी | bool |
| मूल सरणी | अपरिवर्तित | संशोधित हो सकती है (रेफरेंस) |
| कुंजी पास करता है | नहीं (केवल मान) | हाँ (मान, कुंजी) |
| एकाधिक सरणियाँ | हाँ | नहीं |
| छोटा सिंटैक्स (PHP 7.4+) | fn() एरो फ़ंक्शन | fn() एरो फ़ंक्शन |