If-Else and Switch
फ़ैसले की ज़रूरत क्यों
Program को अक्सर value के आधार पर चुनना पड़ता है कि क्या करे। "Pass" दिखाए या "Fail"? user adult है या minor? ये चुनाव conditional statements से होते हैं — if, elseif, else और switch। ये code को अलग-अलग स्थितियों में अलग रास्ते लेने देते हैं।
$age >= 18।if statement
if तभी code चलाता है जब उसकी condition true हो।
<?php
$age = 20;
if ($age >= 18) {
echo "You are an adult";
}
?>
अगर condition false हो, PHP block छोड़कर आगे बढ़ जाती है।
if - elseif - else
"वरना" के लिए else, और बीच की extra conditions के लिए elseif जोड़िए।
<?php
$marks = 75;
if ($marks >= 90) {
echo "Grade A";
} elseif ($marks >= 60) {
echo "Grade B";
} else {
echo "Grade C";
}
?>
PHP conditions ऊपर से नीचे जाँचती है और पहली true वाली चलाती है, बाक़ी छोड़ देती है। 75, 90 से कम पर 60 से ज़्यादा है, इसलिए "Grade B" चला।
switch statement
जब एक variable को कई exact values से मिलाना हो, तो switch कई elseif से साफ़ रहता है।
<?php
$day = 3;
switch ($day) {
case 1: echo "Monday"; break;
case 2: echo "Tuesday"; break;
case 3: echo "Wednesday"; break;
default: echo "Other day";
}
?>
हर case break पर ख़त्म होता है ताकि सिर्फ़ मेल खाता वाला चले। default उन सबको संभालता है जो match नहीं हुए।
छोटा if (ternary)
सरल either/or के लिए ternary operator इसे एक line में कर देता है।
<?php
$age = 16;
$msg = ($age >= 18) ? "Adult" : "Minor";
echo $msg;
?>
इसे पढ़िए: condition ? true-वाली-value : false-वाली-value। छोटे फ़ैसलों के लिए बढ़िया, पर जटिल चीज़ों के लिए पूरा if-else ज़्यादा पढ़ने योग्य है।
आम गलतियाँ
==की जगह=।if ($x = 5)assign करता है और हमेशा true;==लगाइए।- switch में
breakभूलना। इसके बिना अगले cases भी चलते हैं (fall-through)। - गलत condition क्रम। सख़्त conditions पहले रखिए, वरना ढीली condition value जल्दी पकड़ सकती है।
- Curly braces न लगाना। हमेशा
{ }इस्तेमाल कीजिए ताकि साफ़ रहे कौन-सी lines if की हैं।
सारांश
ifcondition true होने पर code चलाता है;elseबाक़ी संभालता है।elseifऔर conditions जोड़ता है; PHP पहली true वाली चलाती है।switchएक variable को exact values से मिलाता है — हर case मेंbreak।- Ternary
? :सरल चुनाव के लिए एक-line if-else है। - Conditions में हमेशा
==/===,=नहीं।
आगे, actions दोहराइए loops in PHP से, या conditions में इस्तेमाल होने वाले PHP operators देखिए।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
if-elseif और switch में क्या अंतर है?
if-elseif तब जब अलग-अलग conditions या ranges जाँचनी हों (जैसे marks > 90)। switch तब जब एक variable को कई exact values से मिलाना हो (जैसे day number 1 से 7)। कई equal-value checks के लिए switch साफ़ रहता है।Condition में = और == में क्या अंतर है?
= value डालता है, == तुलना करता है। if के अंदर लगभग हमेशा == (या ===) चाहिए। गलती से if ($x = 5) लिखना 5 assign कर देता है और हमेशा true रहता है — classic bug।switch में break क्यों इस्तेमाल करते हैं?
break मेल खाता case चलने पर switch रोक देता है। इसके बिना PHP अगले cases भी चलाती रहती है (fall-through), जो आमतौर पर नहीं चाहिए। हर case के अंत में break लगाइए।Ternary operator क्या करता है?
$msg = ($age >= 18) ? "Adult" : "Minor"; का मतलब: उम्र 18 या ज़्यादा हो तो msg "Adult", वरना "Minor"। छोटे फ़ैसलों को compact रखता है।क्या if को दूसरे if के अंदर रख सकते हैं?
elseif या && और || से conditions जोड़ना ज़्यादा साफ़ रहता है।