Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में array_reduce() फ़ंक्शन


PHP में array_reduce() फ़ंक्शन सरणी को एकल मान (single value) में कम (reduce) करता है, उपयोगकर्ता-परिभाषित कॉलबैक फ़ंक्शन का उपयोग करके। इसे "फोल्ड" या "एक्यूमुलेट" भी कहते हैं।

सिंटैक्स (Syntax)

array_reduce(array $arr, callable $callback, mixed $initial = null): mixed

पैरामीटर्स (Parameters)

  • $arr − इनपुट सरणी।

  • $callback − कॉलबैक फ़ंक्शन जो स्वीकार करता है:

    • $carry - संचित मान (पिछली पुनरावृत्ति का परिणाम या $initial)
    • $item - वर्तमान सरणी तत्व
    $carry लौटाना चाहिए।

  • $initial (वैकल्पिक) − प्रारंभिक मान। यदि नहीं दिया और सरणी खाली है तो null लौटाता है।

रिटर्न वैल्यू (Return Value)

अंतिम संचित मान लौटाता है। खाली सरणी और बिना $initial पर null।

उदाहरण (Examples)

उदाहरण 1: स्ट्रिंग जोड़ना (प्रारंभिक मान के साथ)

<?php
function concat($carry, $item) {
    return $carry . " DEMO " . $item;
}

$a = array("One", "Two");
$result = array_reduce($a, "concat", "START");
echo $result; // START DEMO One DEMO Two
?>

आउटपुट

START DEMO One DEMO Two

उदाहरण 2: संख्याओं का योग (प्रारंभिक मान के साथ)

<?php
function add($carry, $item) {
    return $carry + $item;
}

$arr = array(50, 100, 150, 200, 250);
$result = array_reduce($arr, "add", 500);
echo $result; // 1250
?>

आउटपुट

1250

उदाहरण 3: प्रारंभिक मान के बिना (पहला तत्व प्रारंभिक मान बनता है)

<?php
$arr = [1, 2, 3, 4, 5];
$sum = array_reduce($arr, fn($carry, $item) => $carry + $item);
echo $sum; // 15
?>

उदाहरण 4: सरणी को समतल करना (flatten)

<?php
$nested = [[1, 2], [3, 4], [5]];
$flat = array_reduce($arr, fn($carry, $item) => array_merge($carry, $item), []);
print_r($flat); // [1, 2, 3, 4, 5]
?>

उदाहरण 5: आवृत्ति गिनना (frequency count)

<?php
$words = ["apple", "banana", "apple", "cherry", "banana", "apple"];
$freq = array_reduce($words, function($carry, $word) {
    $carry[$word] = ($carry[$word] ?? 0) + 1;
    return $carry;
}, []);
print_r($freq);
?>

आउटपुट

Array
(
    [apple] => 3
    [banana] => 2
    [cherry] => 1
)

array_reduce() vs लूप

array_reduce() फंक्शनल प्रोग्रामिंग शैली है। सरल मामलों में foreach लूप अधिक पठनीय और तेज़ हो सकता है। जटिल संचय तर्क के लिए array_reduce() उपयोगी है।

  1. - PHP में array_shift() फंक्शन

    PHP में array_shift() फंक्शन सरणी से पहला तत्व हटाता है, और हटाए गए तत्व का मान लौटाता है। सिंटैक्स array_shift(arr) पैरामीटर्स arr - निर्दिष्ट सरणी। रिटर्न वैल्यू शिफ्ट किया गया मान। यदि सरणी खाली है तो NULL। उदाहरण <?php $products = array(Electronics, Accessories, Shoes, Toys, Groceries);

  1. - PHP में array_reduce() फ़ंक्शन

    PHP में array_reduce() फ़ंक्शन सरणी को एकल मान (single value) में कम (reduce) करता है, उपयोगकर्ता-परिभाषित कॉलबैक फ़ंक्शन का उपयोग करके। इसे फोल्ड या एक्यूमुलेट भी कहते हैं। सिंटैक्स (Syntax) array_reduce(array $arr, callable $callback, mixed $initial = null): mixed पैरामीटर्स (Parameters) $arr

  1. - PHP में array() फ़ंक्शन / सरणी निर्माण

    PHP में array() भाषा निर्माण (language construct) है जो सरणी बनाता है। PHP 5.4+ में छोटा सिंटैक्स [] भी उपलब्ध है। PHP में तीन प्रकार की सरणियाँ होती हैं। सरणी के प्रकार (Array Types) प्रकारविवरणउदाहरण सूचकांकित (Indexed)संख्यात्मक कुंजियाँ (0, 1, 2...)[10, 20, 30] सहयोगी (Associative)नामित कुंजि