Decision Making in PHP
What is Decision Making
PHP में decision making के लिए conditions का उपयोग किया जाता है। Condition सामान्यतः एक expression होती है जिसका परिणाम true या false होता है। PHP इस परिणाम के आधार पर तय करता है कि कौन-सा code execute करना है।
उदाहरण के लिए, यदि विद्यार्थी के marks 33 या उससे अधिक हैं, तो उसे pass दिखाया जा सकता है। यदि marks 33 से कम हैं, तो उसे fail दिखाया जा सकता है।
<?php
$marks = 65;
if ($marks >= 33) {
echo "Student is Pass";
} else {
echo "Student is Fail";
}
?>Output
Student is Pass
इस प्रोग्राम में PHP पहले $marks >= 33 condition को check करता है। चूँकि marks 65 हैं, इसलिए condition true होती है और if block execute होता है।Decision Making की आवश्यकता
Condition checking: किसी condition के सही या गलत होने की जाँच करना।
Alternative execution: अलग-अलग परिस्थितियों में अलग code execute करना।
Validation: Age, marks, password या अन्य input की जाँच करना।
Business logic: Discount, tax, fees और billing से जुड़े निर्णय लेना।
Program control: प्रोग्राम के execution flow को नियंत्रित करना।
Types of Decision-Making Statements in PHP
PHP में decision making के प्रमुख statements निम्न हैं:
Statement | उपयोग |
|---|---|
| Condition true होने पर code execute करना |
| Condition के true और false दोनों परिणामों के लिए अलग code |
| कई conditions में से उपयुक्त condition चुनना |
Nested | एक |
| किसी expression की value के आधार पर अलग-अलग cases चुनना |
Conditional Statements in PHP
Defination
Conditional statements वे statements होते हैं जिनकी सहायता से प्रोग्राम किसी condition के परिणाम के आधार पर यह निर्धारित करता है कि कौन-सा statement या code block execute होगा।
Description
Conditional statements प्रोग्राम को अलग-अलग परिस्थितियों के अनुसार कार्य करने की सुविधा देते हैं। PHP में condition लिखने के लिए comparison operators और logical operators का उपयोग किया जा सकता है।
Example
>का अर्थ है greater than (से बड़ा)।<का अर्थ है less than (से छोटा)।>=का अर्थ है greater than or equal to (से बड़ा या बराबर)।<=का अर्थ है less than or equal to (से छोटा या बराबर)।==का अर्थ है बराबर value की जाँच करना।!=का अर्थ है बराबर न होना।&&का अर्थ है AND; सभी संबंधित conditions true होनी चाहिए।||का अर्थ है OR; कम-से-कम एक संबंधित condition true होनी चाहिए।!का अर्थ है NOT; यह logical result को उलट देता है।
Example: Condition Checking
<?php
$age = 20;
if ($age >= 18) {
echo "Eligible";
}
?>Output
EligibleWorking:
$agevariable में20store किया गया है।PHP condition
$age >= 18check करता है।20, 18 से बड़ा है, इसलिए condition
trueहोती है।ifblock के अंदर काechostatement execute होता है।स्क्रीन पर
Eligibleदिखाई देता है।
जब इस script को PHP-enabled web server पर execute किया जाता है, तो output में Welcome to PHP दिखाई देता है।
Important point
Conditional statements निर्णय लेने के लिए होते हैं। यदि केवल एक के बाद एक सभी statements execute करने हों और कोई condition न हो, तो सामान्य sequential execution पर्याप्त हो सकता है।
if Statement
Definition
PHP में if Statement का उपयोग तब किया जाता है, जब किसी Condition के True होने पर ही किसी विशेष Code को Execute करना हो। यदि Condition False होती है, तो if के अंदर का Code Execute नहीं होता।
Description
if statement का उपयोग तब किया जाता है जब किसी कार्य को केवल एक विशेष condition पूरी होने पर execute करना हो। इसमें condition को parentheses () के अंदर लिखा जाता है और execute किए जाने वाले statements को curly braces {} के अंदर रखा जाता है।
यदि condition true है, तो PHP curly braces के अंदर लिखे statements execute करता है। यदि condition false है, तो उन statements को execute नहीं किया जाता।
Syntax
if (condition) {
// Statements to execute when condition is true
}यहाँ:
if— conditional statement का keyword है।condition— वह expression है जिसका परिणाम true या false होगा।{ }— code block की सीमा निर्धारित करते हैं।Statements — वे instructions हैं जो condition true होने पर execute होंगे।
Example: Checking Voting Age
<?php
$age = 20;
if ($age >= 18) {
echo "You are eligible to vote.";
}
echo " Program completed.";
?>Output
You are eligible to vote. Program completed.Step-by-Step Explanation
$age = 20;के माध्यम से age variable में 20 store किया जाता है।if ($age >= 18)में जाँच होती है कि age 18 या उससे अधिक है या नहीं।Condition true होने के कारण
ifblock execute होता है।पहला
echoeligibility का message दिखाता है।ifblock के बाहर का दूसराechoभी execute होता है।
जब Condition False हो
यदि $age = 16; कर दिया जाए, तो condition $age >= 18 false होगी। ऐसी स्थिति में if block का message नहीं दिखेगा, लेकिन if के बाहर का Program completed. message दिखाई देगा।
Practical Applications
Minimum age की जाँच करना।
Marks किसी सीमा से अधिक होने पर message दिखाना।
किसी product का stock उपलब्ध होने पर सूचना देना।
किसी form field की condition पूरी होने पर अतिरिक्त सूचना दिखाना।
The if...else Statement
Definition
PHP में if...else एक conditional statement है जो दो वैकल्पिक code blocks में से एक को execute करता है। यदि if की condition true होती है, तो if block execute होता है; अन्यथा else block execute होता है।
Definition
जब किसी condition के true और false दोनों परिणामों के लिए अलग-अलग कार्य करने हों, तब if...else statement का उपयोग किया जाता है। यह केवल एक संभावित परिणाम पर निर्भर रहने के बजाय दोनों परिस्थितियों को संभालता है।
उदाहरण के लिए, विद्यार्थी के marks के आधार पर pass या fail का निर्णय लेना। यदि marks निर्धारित passing marks के बराबर या अधिक हैं, तो प्रोग्राम pass का message दिखाएगा। अन्यथा fail का message दिखाएगा।
इसमें else के बाद कोई condition नहीं लिखी जाती, क्योंकि else उस स्थिति में execute होता है जब if की condition false हो जाती है।
Syntax
if (condition) {
// Executes when condition is true
} else {
// Executes when condition is false
}Example: Pass or Fail
<?php
$marks = 28;
if ($marks >= 33) {
echo "Result: Pass";
} else {
echo "Result: Fail";
}
?>Out Put :
Result: FailStep-by-Step Explanation
$marksvariable में 28 store किया गया है।- PHP condition
$marks >= 33की जाँच करता है। - 28, 33 से कम है, इसलिए condition false होती है।
ifblock execute नहीं होता।elseblock execute होता है औरResult: Failदिखाता है।
Practical Applications
Pass या fail का परिणाम।
Eligible या not eligible का निर्णय।
किसी number का positive या non-positive होना।
किसी user input के आधार पर दो अलग messages दिखाना।
Note: यदि केवल true होने पर कोई कार्य करना हो और false होने पर कोई वैकल्पिक कार्य न हो, तो if पर्याप्त है। यदि दोनों परिणामों के लिए अलग-अलग code चाहिए, तो if…else उपयोगी है।
The if...elseif...else Statement
Definition
PHP में if...elseif...else एक conditional structure है जो कई conditions को क्रम से जाँचता है और पहली true condition के संबंधित code block को execute करता है। यदि कोई भी condition true नहीं होती, तो अंतिम else block execute हो सकता है।
Description
जब किसी प्रोग्राम में दो से अधिक संभावित स्थितियाँ हों, तब केवल if...else पर्याप्त नहीं होता। ऐसी स्थिति में elseif का उपयोग करके कई conditions को क्रमबद्ध तरीके से जाँचा जा सकता है।
PHP सबसे पहले if condition को check करता है। यदि वह false हो, तो अगली elseif condition check की जाती है। यह प्रक्रिया तब तक चलती है जब तक कोई condition true न हो जाए या सभी conditions false न हो जाएँ।
जैसे ही पहली true condition मिलती है, उससे संबंधित block execute होता है और बाकी elseif conditions को उस structure में आगे check नहीं किया जाता। यदि सभी conditions false हों और else मौजूद हो, तो else block execute होता है।
Syntax
if (condition1) {
// Statements for condition1
} elseif (condition2) {
// Statements for condition2
} elseif (condition3) {
// Statements for condition3
} else {
// Statements when all conditions are false
}
PHP में elseif और else if दोनों लिखने के तरीके उपलब्ध हैं। सामान्यतः elseif का उपयोग एक ही conditional chain को स्पष्ट रूप से लिखने के लिए किया जाता है।Example: Grade Calculation
इस उदाहरण में विद्यार्थी के marks के आधार पर grade निर्धारित किया गया है।
<?php
$marks = 76;
if ($marks >= 90) {
echo "Grade: A+";
} elseif ($marks >= 75) {
echo "Grade: A";
} elseif ($marks >= 60) {
echo "Grade: B";
} elseif ($marks >= 33) {
echo "Grade: C";
} else {
echo "Grade: Fail";
}
?>Output
Grade: AStep-by-Step Explanation
$marks = 76;विद्यार्थी के marks को 76 निर्धारित करता है।PHP पहली condition
$marks >= 90check करता है। यह false है।दूसरी condition
$marks >= 75check होती है। यह true है।इसलिए
Grade: Aexecute होता है।बाकी
elseifऔरelseblocks execute नहीं होते।
अलग-अलग Marks पर परिणाम
| Marks | Output |
| 95 | Grade : A+ |
| 76 | Grade : A |
| 65 | Grade : B |
| 40 | Grade: C |
| 25 | Grade : Fal |
Nested if Statements
Definition
Nested if statement वह conditional structure है जिसमें एक if statement के अंदर दूसरा if statement लिखा जाता है। इसका उपयोग तब किया जाता है जब किसी दूसरी condition को जाँचने से पहले पहली condition का true होना आवश्यक हो।
Description
if उपयोगी होता है।उदाहरण के लिए, किसी विद्यार्थी को परीक्षा में बैठने की अनुमति देने के लिए पहले उसकी registration स्थिति check की जा सकती है। यदि registration complete है, तभी attendance की जाँच की जाए। यदि registration complete नहीं है, तो attendance check करने की आवश्यकता नहीं है।
Nested if में बाहरी if पहले जाँचा जाता है। उसके अंदर का if तभी execute होगा जब बाहरी condition true होगी।
Syntax
if (outer_condition) {
if (inner_condition) {
// Executes when both conditions are true
}
}
यहाँ outer_condition पहले check होती है। यदि यह true होती है, तभी inner_condition जाँची जाती है।Example: Exam Eligibility
<?php
$registered = true;
$attendance = 80;
if ($registered == true) {
if ($attendance >= 75) {
echo "Eligible for Examination";
} else {
echo "Attendance is insufficient";
}
} else {
echo "Registration is incomplete";
}
?>Output:
Eligible for ExaminationStep-by-Step Explanation
$registered = true;बताता है कि विद्यार्थी का registration complete है।$attendance = 80;attendance को 80 निर्धारित करता है।बाहरी
ifजाँचता है कि registration complete है या नहीं।Registration true होने के कारण बाहरी block execute होता है।
इसके अंदर का
ifजाँचता है कि attendance 75 या अधिक है या नहीं।Attendance 80 है, इसलिए दूसरी condition भी true होती है।
Output में
Eligible for Examinationदिखाई देता है।
अन्य परिस्थितियों में क्या होगा?
यदि
$registered = falseहो, तो outputRegistration is incompleteहोगा।यदि registration true हो, लेकिन attendance 60 हो, तो output
Attendance is insufficientहोगा।
The switch Statement
Definition
PHP में switch एक selection statement है जो किसी expression की value की तुलना विभिन्न case values से करता है और match मिलने पर संबंधित statements execute करता है। यदि कोई case match नहीं करता और default दिया गया है, तो default block execute होता है।
Description
switch statement उपयोगी होता है। उदाहरण के लिए, menu option 1, 2 या 3 के अनुसार अलग-अलग कार्य करना।switch statement में expression को एक बार evaluate किया जाता है और उसकी value की तुलना cases से की जाती है। Match मिलने पर संबंधित case से execution शुरू होता है।
break statement का उपयोग वर्तमान switch से बाहर निकलने के लिए किया जाता है। यदि break नहीं लिखा जाता, तो PHP अगले case के statements भी execute कर सकता है, भले ही अगली case value match न करती हो। इसे fall-through कहते हैं।
default case वैकल्पिक होता है और तब उपयोगी है जब किसी भी case से match न मिले।
Syntax
switch (expression) {
case value1:
// Statements
break;
case value2:
// Statements
break;
default:
// Statements when no case matches
}मुख्य Components
switch: selection structure शुरू करता है।expression: वह value जिसे evaluate किया जाता है।case: संभावित value के लिए code block निर्धारित करता है।break: वर्तमानswitchसे बाहर निकलता है।default: कोई case match न होने पर चलने वाला वैकल्पिक block।
Example: Menu Selection
<?php
$choice = 2;
switch ($choice) {
case 1:
echo "You selected Home";
break;
case 2:
echo "You selected Courses";
break;
case 3:
echo "You selected Contact";
break;
default:
echo "Invalid choice";
}
?>Output:
You selected CoursesStep-by-Step Explanation
$choice = 2;के माध्यम से choice variable में 2 store होता है।switch ($choice)expression की value evaluate करता है।PHP
case 1check करता है; match नहीं मिलता।PHP
case 2तक पहुँचता है और match मिल जाता है।You selected Coursesexecute होता है।breakके कारण switch से बाहर निकल जाता है।case 3औरdefaultexecute नहीं होते।
Example: Invalid Choice
यदि $choice = 5; कर दिया जाए, तो किसी case की value match नहीं होगी। तब default execute होगा।
Output:
Invalid choicebreak क्यों आवश्यक है?
<?php
$choice = 1;
switch ($choice) {
case 1:
echo "One ";
case 2:
echo "Two ";
break;
default:
echo "Other";
}
?>Output
One Two
इस प्रोग्राम में case 1 match होने पर One print होता है। लेकिन उसके बाद break नहीं है, इसलिए execution अगले case के statements में भी जारी रहता है और Two भी print होता है। यही fall-through behavior है।यदि case 1 के बाद break लगा दिया जाए, तो केवल One print होगा।
Complete Practical Program: Student Result Using if...elseif...else
<?php
$marks = 82;
echo "Student Marks: " . $marks . "<br>";
if ($marks >= 90) {
echo "Grade: A+<br>";
echo "Result: Pass";
} elseif ($marks >= 75) {
echo "Grade: A<br>";
echo "Result: Pass";
} elseif ($marks >= 60) {
echo "Grade: B<br>";
echo "Result: Pass";
} elseif ($marks >= 33) {
echo "Grade: C<br>";
echo "Result: Pass";
} else {
echo "Grade: F<br>";
echo "Result: Fail";
}
?>Output
Student Marks: 82
Grade: A
Result: PassProgram Working
- सबसे पहले
$marksvariable में 82 store किया जाता है। echomarks को browser पर दिखाता है।<br>HTML में नई line के लिए उपयोग होता है।- PHP सबसे अधिक marks वाली condition से जाँच शुरू करता है।
- 82, 90 से कम है, इसलिए पहली condition false होती है।
- 82, 75 या उससे अधिक है, इसलिए दूसरी condition true होती है।
- संबंधित block grade A और Pass result दिखाता है।
- बाकी conditions execute नहीं होतीं।
