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

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


PHP में array_filter() फ़ंक्शन सरणी के तत्वों को कॉलबैक फ़ंक्शन के आधार पर फ़िल्टर करता है। कॉलबैक true लौटाने वाले तत्व ही परिणाम में रहते हैं। कुंजियाँ संरक्षित रहती हैं।

सिंटैक्स (Syntax)

array_filter(array $arr, ?callable $callback = null, int $flag = 0): array

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

  • $arr − फ़िल्टर की जाने वाली सरणी।

  • $callback (वैकल्पिक) − फ़िल्टर फ़ंक्शन। true लौटाने पर तत्व रखा जाता है। यदि null तो "falsy" मान (0, "", null, false, []) हटा दिए जाते हैं।

  • $flag (वैकल्पिक) − कॉलबैक को पास किए जाने वाले तर्क:

    • ARRAY_FILTER_USE_KEY - केवल कुंजी पास करें
    • ARRAY_FILTER_USE_BOTH - मान और कुंजी दोनों पास करें

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

फ़िल्टर की गई नई सरणी लौटाता है (कुंजियाँ संरक्षित)।

उदाहरण (Examples)

उदाहरण 1: कॉलबैक के साथ सम संख्याएँ फ़िल्टर करना

<?php
function is_even($n) {
    return ($n % 2) === 0;
}

$arr = array(3, 6, 9, 15, 20, 30, 45, 48, 59, 66);
$result = array_filter($arr, "is_even");
print_r($result);
?>

आउटपुट

Array
(
    [1] => 6
    [4] => 20
    [5] => 30
    [7] => 48
    [9] => 66
)

उदाहरण 2: कॉलबैक के बिना - falsy मान हटाना

<?php
$arr = [0, 1, false, 2, "", 3, null, "hello", [], 4];
$result = array_filter($arr);
print_r($result);
?>

आउटपुट

Array
(
    [1] => 1
    [3] => 2
    [5] => 3
    [7] => hello
    [9] => 4
)

उदाहरण 3: ARRAY_FILTER_USE_KEY - कुंजी के आधार पर फ़िल्टर

<?php
$arr = ["a" => 1, "b" => 2, "c" => 3, "d" => 4];
// केवल विषम लंबाई वाली कुंजियाँ (यहाँ सभी 1 लंबाई)
// बेहतर उदाहरण: संख्यात्मक कुंजियाँ
$arr2 = [10 => "ten", 20 => "twenty", 30 => "thirty"];
$result = array_filter($arr2, fn($key) => $key > 15, ARRAY_FILTER_USE_KEY);
print_r($result); // [20 => "twenty", 30 => "thirty"]
?>

उदाहरण 4: ARRAY_FILTER_USE_BOTH - कुंजी और मान दोनों

<?php
$arr = ["apple" => 5, "banana" => 3, "cherry" => 8];
// कुंजी 'a' से शुरू हो AND मान > 5
$result = array_filter($arr, fn($v, $k) => $k[0] === 'a' && $v > 5, ARRAY_FILTER_USE_BOTH);
print_r($result); // ["apple" => 5] - नहीं, 5 > 5 false
// सही:
$result = array_filter($arr, fn($v, $k) => $k[0] === 'c' && $v > 5, ARRAY_FILTER_USE_BOTH);
print_r($result); // ["cherry" => 8]
?>

नोट

  • कुंजियाँ हमेशा संरक्षित रहती हैं (रीइंडेक्स नहीं होता)।
  • रीइंडेक्स करने के लिए array_values() उपयोग करें: array_values(array_filter($arr, ...))।
  • PHP 8.0+ में एरो फ़ंक्शन (fn) अधिक संक्षिप्त हैं।
  1. - PHP min() फ़ंक्शन - न्यूनतम मान ढूंढना

    PHP का min() फ़ंक्शन **सरणी में सबसे छोटा तत्व** या **दिए गए पैरामीटर्स में सबसे छोटा मान** लौटाता है। यह विभिन्न प्रकारों (संख्याएँ, स्ट्रिंग्स, मिश्रित) को संभाल सकता है। सिंटैक्स min(array $values): mixed // या min(mixed $value1, mixed $value2, ...): mixed पैरामीटर्स पैरामीटरविवरण $valuesसर

  1. - PHP max() फ़ंक्शन - अधिकतम मान ढूंढना

    PHP का max() फ़ंक्शन **सरणी में सबसे बड़ा तत्व** या **दिए गए पैरामीटर्स में सबसे बड़ा मान** लौटाता है। यह min() का पूरक है और समान नियमों का पालन करता है। सिंटैक्स max(array $values): mixed // या max(mixed $value1, mixed $value2, ...): mixed पैरामीटर्स पैरामीटरविवरण $valuesसरणी (एकमात्र पैरामी

  1. - PHP log10() फ़ंक्शन - आधार-10 लघुगणक

    PHP का log10() फ़ंक्शन किसी संख्या का **आधार-10 लघुगणक (base-10 logarithm)** गणना करता है। इसे सामान्य या मानक लघुगणक भी कहते हैं। सिंटैक्स log10(float $arg): float पैरामीटर पैरामीटरविवरण $argवह संख्या जिसका आधार-10 लघुगणक चाहिए लौटाया गया मान $arg का आधार-10 लघुगणक (फ्लोट)। गणितीय संबंध l