PHP-ல் உள்ள நிபந்தனைக் கூற்றுகள் - பாடம் 6
இந்த அத்தியாயம் PHP நிரலாக்க மொழியில் பயன்படுத்தப்படும் பல்வேறு நிபந்தனைக் கூற்றுகளைப் பற்றி விரிவாக விளக்குகிறது. இதில் எளிய if கூற்று, இருவழி முடிவெடுக்கும் if-else கூற்று, பலவழி நிபந்தனையான if-elseif-else கூற்று மற்றும் switch கூற்று ஆகியவற்றின் கட்டமைப்பு, செயல்படும் விதம், தொடரியல் மற்றும் அவற்றின் நடைமுறைப் பயன்பாடுகள் போன்ற முக்கியக் கருத்துக்களை எளிய விளக்கங்களுடன் தெளிவாகக் கற்றுக்கொள்ளலாம்.
இந்தப் பாடத்தைப் படியுங்கள்
PHP-ல் உள்ள நிபந்தனைக் கூற்றுகள் பற்றி
நடுத்தரம் ~60 நிமிடப் படிப்பு
ஒரு கணினி நிரல் தொடக்கத்திலிருந்து முடிவு வரை வெறும் வரிசையாக மட்டுமே செயல்படாமல், சில குறிப்பிட்ட சூழ்நிலைகளில் தகுந்த முடிவுகளை எடுக்க வேண்டிய தேவை எழுகிறது. நிஜ வாழ்க்கையில் நாம் தினசரி எடுக்கும் பல்வேறு முடிவுகளைப் போலவே, நிரலாக்கத்திலும் குறிப்பிட்ட நிபந்தனைகளின் அடிப்படையில் குறியீட்டுத் தொகுதியைத் தேர்ந்தெடுத்து இயக்கக் கட்டுப்பாட்டுக் கட்டமைப்புகள் மிகவும் உதவுகின்றன. PHP போன்ற வலை மேம்பாட்டு மொழியில், பயனர் உள்ளீடுகள் அல்லது தரவுத்தளத் தரவுகளின் அடிப்படையில் மாறும் தன்மையுடைய வலைப்பக்கங்களை வெற்றிகரமாக உருவாக்குவதற்கு இந்த முடிவெடுக்கும் திறனே மிக முக்கியமான அடிப்படையாக அமைகிறது.
இந்த அத்தியாயத்தில் விளக்கப்பட்டுள்ள கட்டுப்பாட்டுக் கருத்துக்கள் அனைத்தும் ஒன்றோடொன்று மிகவும் நெருங்கிய தொடர்புடையவையாக வடிவமைக்கப்பட்டுள்ளன. எளிய ஒற்றை நிபந்தனைகளைச் சரிபார்க்கும் அடிப்படை 'if' கூற்றிலிருந்து தொடங்கி, மாற்று வழியையும் கொண்ட 'if-else' கூற்று, பல நிபந்தனைகளை வரிசையாக ஒப்பிடும் 'if-elseif-else' கூற்று மற்றும் பல தேர்வுகளில் ஒன்றைக் குறைந்த நேரத்தில் தேர்ந்தெடுக்கும் 'switch' கூற்று வரை படிப்படியாகக் கட்டுப்பாட்டு வழிமுறைகள் விரிவடைகின்றன. இவை அனைத்தும் நிரலின் பாய்வை நிர்வகிப்பதில் முக்கியப் பங்காற்றுகின்றன.
பொதுத் தேர்வுகளைப் பொறுத்தவரை, இந்த அத்தியாயத்திலிருந்து கோட்பாடு சார்ந்த முக்கிய வினாக்களும், நிரல் வெளியீட்டைக் கண்டறியும் பகுத்தறியும் வினாக்களும் அதிகளவில் கேட்கப்படுகின்றன. குறிப்பாக, நிபந்தனைக் கூற்றுகளின் தொடரியல், அவற்றுக்கு இடையேயான கட்டமைப்பு வேறுபாடுகள் மற்றும் எளிய குறிமுறைகளின் வெளியீட்டைத் துல்லியமாகக் கணக்கிடும் பயிற்சிகள் தேர்வுக்குத் தயாராவதற்கு மிகவும் அவசியமானவையாகும். எனவே, இந்த நிபந்தனைக் கட்டுப்பாட்டுக் கருத்துக்களை ஆழமாகப் புரிந்துகொள்வது தேர்வில் அதிக மதிப்பெண்களை எளிதாகப் பெற மாணவர்களுக்குப் பெரிதும் வழிவகுக்கும்.
நீங்கள் கற்பவை
- PHP மொழியில் உள்ள பல்வேறு வகையான நிபந்தனைக் கூற்றுகளின் முக்கியத்துவத்தையும் அவற்றின் கட்டமைப்புகளையும் தெளிவாகப் புரிந்துகொள்ளுதல்.
- ஒரு குறிப்பிட்ட எளிய நிபந்தனையைச் சோதிக்க if கூற்றைப் பயன்படுத்தி எளிய நிரல்களை வெற்றிகரமாக வடிவமைத்தல்.
- இரண்டு வெவ்வேறு வழிகளில் முடிவெடுக்க வேண்டிய சூழல்களில் if-else கூற்றினைச் சரியாகப் பயன்படுத்துதல்.
- பல்வேறு நிபந்தனைகளை வரிசையாக ஒப்பிட்டுச் சரிபார்க்க if-elseif-else கட்டுப்பாட்டுக் கட்டமைப்பை உருவாக்குதல்.
- பல தேர்வுகளில் இருந்து பொருத்தமான ஒன்றை விரைவாகத் தேர்ந்தெடுக்க switch கூற்றைத் திறம்படப் பயன்படுத்துதல்.
- switch கூற்றில் break மற்றும் default கூற்றுகளின் பங்கினை உணர்ந்து பிழையற்ற நிரல்களை எழுதுதல்.
தொடங்குவதற்கு முன்
- PHP மொழியின் அடிப்படை அறிமுகம் மற்றும் அதன் கட்டமைப்பு விதிகள் பற்றிய அறிவு.
- PHP மொழியில் மாறிகளை அறிவித்தல் மற்றும் மதிப்புகளை இருத்துதல் பற்றிய அடிப்படைப் புரிதல்.
- ஒப்பீட்டுச் செயற்குறிகள் மற்றும் தருக்கச் செயற்குறிகள் பற்றிய அடிப்படைத் தெளிவு.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
PHP-ல் உள்ள நிபந்தனைக் கூற்றுகள் — விரிவான விளக்கம்
PHP நிபந்தனைக் கூற்றுகளின் கட்டமைப்பு மற்றும் செயல்பாடுகள்
எளிய if கூற்றின் செயல்பாடு
நிரலாக்கத்திலும் பயன்படுத்தப்படும் அனைத்து நிபந்தனைக் கூற்றுகளிலும் மிகவும் எளியதும் அடிப்படையானதுமான வடிவம் 'if' கூற்று ஆகும். இந்த அமைப்பானது கொடுக்கப்பட்ட நிபந்தனை உண்மையாக உள்ளதா என்பதை மட்டுமே சரிபார்க்கிறது. நிபந்தனையின் மதிப்பு உண்மையாக இருக்கும் பட்சத்தில், அதற்குரிய வளைந்த அடைப்புக்குறிகளுக்குள் உள்ள குறியீட்டுத் தொகுதி முழுமையாக இயக்கப்பட்டு வெளியீடு தரப்படுகிறது. மாறாக, நிபந்தனையின் மதிப்பு தவறாக மாறும் போது, அந்த குறியீட்டுத் தொகுதி முற்றிலும் புறக்கணிக்கப்பட்டு நிரலின் அடுத்த பகுதிக்குக் கட்டுப்பாடு நேரடியாகத் தாவுகிறது. ஒரேயொரு நிபந்தனையை மட்டும் அடிப்படையாகக் கொண்டு ஒரு குறிப்பிட்ட கட்டளையை இயக்க வேண்டிய எளிய கட்டுப்பாட்டுச் செயல்பாடுகளுக்கு இக்கூற்று மிகவும் பொருத்தமானதாக அமைகிறது. இதன் தொடரியல் எளிமையானது மற்றும் வேகமான நிரலாக்கத்திற்கு வழிகாட்டுகிறது.
இருவழி கிளைப்பிரிப்பான if-else கூற்று
நிபந்தனையின் அடிப்படையில் ஒரு செயல் உண்மையாக இருக்கும்போது ஒரு குறியீட்டுத் தொகுதியையும், தவறாக இருக்கும்போது மாற்று வழியான மற்றொரு குறியீட்டுத் தொகுதியையும் இயக்க வேண்டிய சூழ்நிலைகளில் 'if-else' கூற்று ஒரு சிறந்த இருவழி முடிவெடுக்கும் அமைப்பாகப் பயன்படுகிறது. இதனுடைய தொடரியல் அமைப்பில், நிபந்தனையானது உண்மையாக இருக்கும்போது 'if' பிரிவில் உள்ள குறியீட்டுத் தொகுதி இயக்கப்படுகிறது; ஒருவேளை நிபந்தனை தவறானதாக இருக்கும் பட்சத்தில், 'else' பிரிவில் உள்ள குறியீட்டுத் தொகுதி இயக்கப்படுகிறது. இதன் மூலம், நிபந்தனையின் முடிவு எதுவாக இருந்தாலும், கொடுக்கப்பட்ட இரண்டு தொகுதிகளில் ஏதேனும் ஒரு குறிப்பிட்ட தொகுதி மட்டுமே கண்டிப்பாக இயக்கப்படும் என்பது இந்த இருவழி அமைப்பில் உறுதியாக நிலைநிறுத்தப்படுகிறது. இது கணினிக்குச் சரியான முடிவை எடுக்க இரண்டு தெளிவான பாதைகளை வழங்குகிறது.
பலவழி முடிவெடுக்கும் if-elseif-else கூற்று
நடைமுறை வலைப் பயன்பாடுகளில் இரண்டுக்கும் மேற்பட்ட பல நிபந்தனைகளை வரிசையாக ஒன்றன்பின் ஒன்றாகச் சரிபார்க்க வேண்டிய சிக்கலான சூழ்நிலைகள் எழும்போது 'if-elseif-else' கூற்று பயன்படுத்தப்படுகிறது. இந்த அமைப்பானது ஒரு முதன்மையான 'if' கூற்றுடன் தொடங்கி, அதற்கு அடுத்ததாகப் பல்வேறு நிபந்தனைகளைக் கொண்ட பல 'elseif' கூற்றுகளைத் தொடர்ந்து பெற்று, இறுதியாக எவ்வித நிபந்தனைகளும் பொருந்தாதபோது இயங்குவதற்கான ஒரு பொதுவான 'else' தொகுதியுடன் முடிவடைகிறது. இந்த வரிசையில் கொடுக்கப்பட்டுள்ள நிபந்தனைகள் மேலிருந்து கீழாக ஒவ்வொன்றாகச் சரிபார்க்கப்பட்டு, எந்தவொரு குறிப்பிட்ட நிபந்தனை முதலில் உண்மையாகிறதோ அதற்குரிய குறியீட்டுத் தொகுதி மட்டுமே இயக்கப்பட்டு மற்ற அனைத்தும் தவிர்க்கப்படும். கொடுக்கப்பட்ட அனைத்து நிபந்தனைகளும் தவறாகும் பட்சத்தில் மட்டுமே இறுதியிலுள்ள 'else' தொகுதி இயக்கப்படும். இது பயனர் உள்ளீடுகளைப் பல நிலைகளில் வடிகட்டிச் சரிபார்க்கும் நெகிழ்வுத்தன்மையை வழங்குகிறது.
பலவழித் தேர்வான switch கூற்று
ஒரு குறிப்பிட்ட கோவையின் மதிப்பை அடிப்படையாகக் கொண்டு, பல்வேறு சாத்தியமான மதிப்புகளுடன் நேரடியாக ஒப்பிட்டுப் பார்த்து முடிவெடுக்கும் பலவழி கிளைப்பிரிப்புக் கூற்றாக 'switch' கூற்று செயல்படுகிறது. பல 'if-elseif-else' கூற்றுகளைப் பயன்படுத்துவதால் ஏற்படும் குறியீட்டுச் சிக்கல்களைத் தவிர்த்து, நிரலை எளிதாகப் புரிந்துகொள்ளும் வகையில் வடிவமைக்க இது பெரிதும் உதவுகிறது. இதில் கோவையின் மதிப்பு ஒவ்வொரு 'case' மதிப்புடனும் ஒப்பிடப்பட்டு, பொருத்தம் கண்டறியப்பட்டவுடன் அதற்குரிய குறியீட்டுத் தொகுதி இயக்கப்படுகிறது. ஒவ்வொரு கேஸின் முடிவிலும் 'break' கூற்றைப் பயன்படுத்துவது அவசியமாகும்; இல்லையெனில் கட்டுப்பாடு அடுத்தடுத்த கேஸ் தொகுதிகளைத் தொடர்ந்து இயக்கிவிடும். எந்தவொரு குறிப்பிட்ட கேஸ் மதிப்பும் கோவையின் மதிப்புடன் பொருந்தாதபோது, இறுதியிலுள்ள 'default' தொகுதியானது தன்னிச்சையாக இயக்கப்பட்டு நிரலை நிறைவு செய்கிறது. இதனால் நிரலின் வேகம் மற்றும் வாசிப்புத்திறன் கணிசமாக அதிகரிக்கிறது.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- நிபந்தனைக்கு உட்பட்ட குறியீட்டுத் தொகுதியை { } அடைப்புக்குறிக்குள் எழுத மறப்பது; இதனால் பல கட்டளைகளைக் கொண்ட நிரல்களில் எதிர்பார்த்த வெளியீடு கிடைக்காது என்பதால், எப்போதும் குறியீட்டுத் தொகுதியை அடைப்புக்குறிக்குள் எழுத வேண்டும்.
- if மற்றும் elseif கூற்றுகளில் உள்ள நிபந்தனைகளை அடைப்புக்குறிக்குள் ( ) கொடுக்கத் தவறுவது; தொடரியல் பிழைகளைத் தவிர்க்க நிபந்தனைகளை எப்போதும் அடைப்புக்குறிக்குள் மட்டுமே எழுத வேண்டும்.
- ஒப்பீட்டுச் செயற்குறிக்கு பதிலாக மதிப்பிருத்துச் செயற்குறியைப் பயன்படுத்துவது; நிபந்தனைகளில் இரு மதிப்புகளை ஒப்பிட '==' குறியீட்டைப் பயன்படுத்த வேண்டுமே தவிர, மதிப்பிருத்தப் பயன்படும் '=' குறியீட்டைப் பயன்படுத்தக் கூடாது.
- switch கூற்றில் ஒவ்வொரு கேஸின் முடிவிலும் break கூற்றைப் பயன்படுத்தாமல் விடுவது; இதனால் அடுத்தடுத்த கேஸ்களும் தொடர்ந்து இயங்கும் என்பதால், ஒவ்வொரு கேஸின் முடிவிலும் கண்டிப்பாக break எழுத வேண்டும்.
- elseif என்பதை else if என இரண்டு தனித்தனிச் சொற்களாக எழுதும்போது பிழை ஏற்படுவது; PHP மொழியில் elseif என்பதை இடைவெளி இன்றி ஒரே சொல்லாக எழுதப் பழக வேண்டும்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
PHP இல் if மற்றும் if-else கூற்றுக்கு இடையே உள்ள முக்கிய வேறுபாடு என்ன?
எளிய if கூற்று என்பது கொடுக்கப்பட்ட நிபந்தனை உண்மையாக இருக்கும்போது மட்டும் ஒரு குறிப்பிட்ட செயலைச் செய்கிறது. ஆனால், if-else கூற்று என்பது நிபந்தனை உண்மையாக இருக்கும்போது ஒரு குறியீட்டுத் தொகுதியையும், தவறாக இருக்கும்போது மாற்று வழியான மற்றொரு குறியீட்டுத் தொகுதியையும் இயக்கும் இருவழி முடிவெடுக்கும் அமைப்பாகச் செயல்படுகிறது.
switch கூற்றில் break கூற்றைப் பயன்படுத்துவது ஏன் அவசியமானது?
switch கூற்றில் ஒரு குறிப்பிட்ட கேஸ் பொருந்திய பிறகு, அதற்குரிய குறியீடு இயங்கி முடித்ததும் கட்டுப்பாட்டை switch அமைப்பிலிருந்து வெளியேற்ற break கூற்று பயன்படுகிறது. இதைப் பயன்படுத்தாவிட்டால், அதற்கு அடுத்தடுத்து வரும் அனைத்து கேஸ் தொகுதிகளின் குறியீடுகளும் தன்னிச்சையாகத் தொடர்ந்து இயக்கப்பட்டு பிழையான வெளியீட்டைத் தரும்.
switch கூற்றில் default என்பது கட்டாயமா அல்லது விருப்பத்தேர்வா?
switch கூற்றில் default கூற்றைப் பயன்படுத்துவது கட்டாயமில்லை, அது ஒரு விருப்பத்தேர்வாகும். கொடுக்கப்பட்ட கோவையின் மதிப்பு எந்தவொரு கேஸ் மதிப்புடனும் பொருந்தாதபோது ஒரு இறுதி மாற்றுத் தொகுதியை இயக்குவதற்கு மட்டுமே default பயன்படுகிறது. எனவே, பாதுகாப்பு மற்றும் நல்ல நிரலாக்க வழக்கத்திற்காக இதைப் பயன்படுத்துவது பரிந்துரைக்கப்படுகிறது.
PHP இல் elseif கூற்றை எவ்வாறு சரியாக எழுத வேண்டும்?
PHP மொழியில் elseif என்பதை இடைவெளி இல்லாமல் ஒரே சொல்லாக எழுத வேண்டும். அதே நேரத்தில், இதனை 'else if' என இரண்டு தனித்தனிச் சொற்களாகப் பிரித்தும் எழுதலாம். இரண்டுமே PHP மொழியில் ஏற்றுக்கொள்ளப்படும் என்றாலும், தொடரியல் பிழைகளைத் தவிர்க்கவும் வாசிப்புத்திறனை அதிகரிக்கவும் 'elseif' என ஒரே சொல்லாக எழுதுவதே மிகவும் நல்லது.
நிபந்தனைக் கூற்றுகளில் தருக்கச் செயற்குறிகள் எவ்வாறு பயன்படுகின்றன?
நிபந்தனைக் கூற்றுகளில் ஒரே நேரத்தில் பல நிபந்தனைகளைச் சோதிக்க தருக்கச் செயற்குறிகள் பயன்படுகின்றன. உதாரணமாக, இரண்டு நிபந்தனைகளும் உண்மையாக இருக்க வேண்டும் எனில் AND (&&) செயற்குறியையும், ஏதேனும் ஒன்று உண்மையாக இருக்க வேண்டும் எனில் OR (||) செயற்குறியையும் பயன்படுத்தி மிகச் சிக்கலான கட்டுப்பாட்டுப் பாய்வுகளை எளிதாக உருவாக்க முடியும்.
switch கூற்றை விட if-elseif-else கூற்று எப்போது சிறந்ததாக அமையும்?
ஒரு கோவையின் மதிப்பை நேரடி மதிப்புகளுடன் ஒப்பிடுவதற்கு switch கூற்று சிறந்தது. ஆனால், மாறிகளின் மதிப்புகளை வரம்புகளாகவோ அல்லது சிக்கலான தருக்க உறவுகளாகவோ ஒப்பிட்டுச் சோதிக்க வேண்டிய சூழ்நிலைகளில் if-elseif-else கூற்று மட்டுமே மிகச்சிறந்த தேர்வாக அமையும், ஏனெனில் switch கூற்றில் வரம்புகளை நேரடியாகச் சோதிக்க முடியாது.
PHP நிபந்தனைக் கூற்றுகளில் அடைப்புக்குறிகள் { } எப்போது கட்டாயமாகின்றன?
ஒரு நிபந்தனையின் கீழ் ஒன்றுக்கும் மேற்பட்ட கட்டளைகளை இயக்க வேண்டியிருக்கும் போது, அவற்றை ஒரு தனித் தொகுதியாகக் காட்ட வளைந்த அடைப்புக்குறிகள் { } கட்டாயமாகின்றன. ஒருவேளை ஒரேயொரு கட்டளை மட்டும் இருந்தால் அடைப்புக்குறிகள் தேவையில்லை என்றாலும், பிழைகளைத் தவிர்க்கவும் தெளிவிற்காகவும் அடைப்புக்குறிகளைப் பயன்படுத்துவதே சிறந்த நிரலாக்க முறையாகும்.
கடைசியாகப் புதுப்பிக்கப்பட்டது 12 ஆகஸ்ட் 2026