Match एक्सप्रेशन और नामित आर्ग्युमेंट
लंबे switch को match से बदलें और स्पष्टता के लिए नामित आर्ग्युमेंट का उपयोग करें
Match एक्सप्रेशन और नामित आर्ग्युमेंट, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
match अभिव्यक्ति
PHP 8.0 में match प्रस्तुत किया गया, जो switch का संक्षिप्त विकल्प है। यह सख्त समानता (===) का उपयोग करता है और एक मान लौटाता है।
match बनाम switch
मुख्य अंतर: match सख्त तुलना का उपयोग करता है, इसमें अनपेक्षित अगले विकल्प पर गिरना नहीं होता और यह एक अभिव्यक्ति है (एक मान लौटाती है)।
<?php
$status = 2;
$label = match($status) {
1 => "active",
2 => "inactive",
3 => "banned",
default => "unknown",
};
echo $label; // "inactive"प्रत्येक शाखा में कई शर्तें
कई match मानों को अल्पविराम से अलग करें, ताकि उनके लिए एक ही परिणाम संभाला जा सके।
<?php
$code = 404;
$type = match($code) {
200, 201, 202 => "success",
400, 422 => "client error",
404 => "not found",
500, 503 => "server error",
default => "other",
};
echo $type; // "not found"कोई मिलान न होने पर match अपवाद उत्पन्न करता है
यदि कोई शाखा मेल नहीं खाती और default भी नहीं है, तो PHP UnhandledMatchError उत्पन्न करता है — इसके विपरीत switch चुपचाप आगे बढ़ जाता है।
अभिव्यक्ति के रूप में match
चूँकि match एक मान लौटाता है, आप इसका उपयोग सीधे किसी फ़ंक्शन आर्ग्युमेंट, return कथन या स्ट्रिंग इंटरपोलेशन के भीतर कर सकते हैं।
<?php
echo "Status: ".match($active) {
true => "ON",
false => "OFF",
};नामित आर्ग्युमेंट
PHP 8.0 के नामित आर्ग्युमेंट आपको किसी फ़ंक्शन को आर्ग्युमेंट पैरामीटर के नाम से, किसी भी क्रम में, मान देने देते हैं।
<?php
function makeTag(string $tag, string $content, string $class = ""): string {
return "<$tag class=\"$class\">$content</$tag>";
}
echo makeTag(content: "Hello", tag: "p", class: "lead");नामित आर्ग्युमेंट के लाभ
नामित आर्ग्युमेंट: कई पैरामीटर वाले फ़ंक्शन की पठनीयता बढ़ाते हैं, वैकल्पिक पैरामीटर छोड़ने देते हैं और स्पष्ट करते हैं कि प्रत्येक मान किसका प्रतिनिधित्व करता है।
अंतर्निहित फ़ंक्शन के साथ नामित आर्ग्युमेंट
नामित आर्ग्युमेंट PHP के अंतर्निहित फ़ंक्शन के साथ भी काम करते हैं।
<?php
$arr = [3, 1, 4, 1, 5];
$result = array_slice(array: $arr, offset: 1, length: 3, preserve_keys: true);नामित और स्थितीय आर्ग्युमेंट का संयोजन
आप स्थितीय और नामित आर्ग्युमेंट को मिला सकते हैं, लेकिन नामित आर्ग्युमेंट स्थितीय आर्ग्युमेंट के बाद आने चाहिए।
<?php
str_contains(haystack: "Hello World", needle: "World");
// or positional then named:
str_contains("Hello World", needle: "World");array_map में नामित आर्ग्युमेंट
नामित आर्ग्युमेंट उन परिवर्तनशील-आर्ग्युमेंट वाले अंतर्निहित फ़ंक्शन के साथ विशेष रूप से उपयोगी होते हैं जिनमें पैरामीटर का क्रम समझना कठिन होता है।
वास्तविक कोड में match
एचटीटीपी विधि रूटिंग, स्थिति कोड मैपिंग और एनम-जैसे निर्णयों के लिए लंबी if/elseif श्रृंखलाओं को match से बदलें।
<?php
$handler = match($_SERVER["REQUEST_METHOD"]) {
"GET" => new GetHandler(),
"POST" => new PostHandler(),
"DELETE" => new DeleteHandler(),
default => throw new InvalidArgumentException("Unsupported method"),
};सारांश
match सख्त, पूर्ण और अनपेक्षित अगले विकल्प पर जाने से मुक्त शाखाकरण उपलब्ध कराता है। नामित आर्ग्युमेंट कॉल-स्थान की पठनीयता बढ़ाते हैं। दोनों PHP 8.0 के महत्वपूर्ण सुधार हैं।
त्वरित जाँच
जब कोई match शाखा मेल नहीं खाती और default भी नहीं होता, तब क्या होता है?
एआई शिक्षक के साथ PHP सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 49
- पाठ
- 195
अक्सर पूछे जाने वाले प्रश्न
क्या “Match एक्सप्रेशन और नामित आर्ग्युमेंट” पाठ निःशुल्क है?
हाँ—“Match एक्सप्रेशन और नामित आर्ग्युमेंट” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Match एक्सप्रेशन और नामित आर्ग्युमेंट” में मैं क्या सीखूँगा?
लंबे switch को match से बदलें और स्पष्टता के लिए नामित आर्ग्युमेंट का उपयोग करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Match एक्सप्रेशन और नामित आर्ग्युमेंट” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Match एक्सप्रेशन और नामित आर्ग्युमेंट
- Nullsafe ऑपरेटर और Union प्रकार
- एन्यूमरेशन (Enums)
- Fibers: सहकारी समांतरता