PHP-ல் மடக்குகள் - எளிய தமிழ் வழிக் கற்றல் கையேடு
இந்த அத்தியாயம் PHP நிரலாக்க மொழியில் உள்ள பல்வேறு மடக்கு அமைப்புகளைப் பற்றி மிக விரிவாக விளக்குகிறது. இதில் உள்ள ஃபார், வைல், டூ-வைல் மற்றும் ஃபார்-ஈச் மடக்குகளின் கட்டமைப்பு, அவற்றின் செயல்பாடுகள் மற்றும் நிபந்தனைகளின் அடிப்படையில் குறியீட்டுத் தொகுதிகளை மீண்டும் மீண்டும் இயக்குவதற்கான வழிமுறைகள் தமிழ் மொழியில் மிக எளிய விளக்கங்கள் மற்றும் நடைமுறை எடுத்துக்காட்டுகளுடன் மாணவர்களுக்கு தெளிவாகக் கற்பிக்கப்படுகின்றன.
இந்தப் பாடத்தைப் படியுங்கள்
PHP-ல் மடக்குகள் பற்றி
நடுத்தரம் ~90 நிமிடப் படிப்பு
நவீன இணையதளங்கள் மற்றும் வலைப் பயன்பாடுகளின் உருவாக்கத்தில் குறிப்பிட்ட தரவுகளை மீண்டும் மீண்டும் கையாள்வதும், ஒரே குறியீட்டு தொகுதியை வெவ்வேறு மதிப்புகளுடன் பலமுறை இயக்குவதும் மிக முக்கியமான தேவைகளாகும். PHP மொழியில் உள்ள மடக்கு கட்டமைப்புகள் (Looping structures) இந்த தேவைகளை மிக நேர்த்தியாகவும் எளிமையாகவும் பூர்த்தி செய்வதற்காகவே வடிவமைக்கப்பட்டுள்ளன. இவை நிரல்களின் வரிகளின் எண்ணிக்கையை பெருமளவில் குறைத்து, கணினியின் நினைவக பயன்பாட்டையும், மென்பொருள் உருவாக்குநர்களின் உழைப்பையும் வேலை நேரத்தையும் மிகச் சிறந்த முறையில் மிச்சப்படுத்த உதவுகின்றன.
இந்த அத்தியாயத்தில், ஒரு குறிப்பிட்ட குறிமுறை தொகுதியை இயக்குவதற்கு முன் நிபந்தனையை சோதிக்கும் நுழைவு சோதனை மடக்குகளான (Entry-check loops) ஃபார் (for) மற்றும் வைல் (while) மடக்குகளின் செயல்பாடுகளைப் பற்றி தெளிவாகப் பயிலலாம். இவற்றுடன், நிபந்தனை தவறாக இருந்தாலும் கூட, தனக்குள் இருக்கும் குறிமுறைத் தொகுதியை குறைந்தபட்சம் ஒரு முறையாவது இயக்கிவிட்டு பின்னர் நிபந்தனையை சரிபார்க்கும் வெளியேற்ற சோதனை மடக்கான (Exit-check loop) டூ-வைல் (do-while) மடக்கைப் பற்றியும் பல்வேறு எளிய எடுத்துக்காட்டுகளுடன் விரிவாகவும் மிக ஆழமாகவும் கற்றுக்கொள்ளலாம்.
இவற்றுடன், PHP மொழியில் அணிகளில் (Arrays) சேமிக்கப்பட்டுள்ள உறுப்புகளை மிகவும் எளிமையாகவும் வேகமாகவும் வரிசைக்கிரமமாக கையாள்வதற்கும் அணுகுவதற்கும் பயன்படும் சிறப்பு mடக்கான ஃபார்-ஈச் (foreach) மடக்கு பற்றி அறிவது இந்த அத்தியாயத்தின் முக்கிய பகுதியாகும். அரசு பொதுத்தேர்வுக்கு மிகச் சிறந்த முறையில் தயாராகி வரும் பன்னிரண்டாம் வகுப்பு கணினி பயன்பாடுகள் பிரிவு மாணவர்கள், நிரல்களின் வெளியீடுகளைத் துல்லியமாகக் கண்டறியவும், சிக்கலான தருக்க அடிப்படையிலான நிரலாக்க வினாக்களுக்கு மிக எளிய தீர்வுகளைக் காணவும் இந்த மடக்குக் கொள்கைகள் அடிப்படையாக அமைந்துள்ளன.
நீங்கள் கற்பவை
- மடக்கு அமைப்புகளின் முக்கியத்துவம் மற்றும் அவற்றின் தேவையைப் புரிந்து கொள்ளுதல்.
- for, while, do-while மற்றும் foreach மடக்குகளின் சரியான தொடரியல் விதிகளை அறிதல்.
- நிபந்தனைகளின் அடிப்படையில் குறியீட்டுத் தொகுதிகளை மீண்டும் மீண்டும் வெற்றிகரமாக இயக்குதல்.
- அணிகளில் உள்ள உறுப்புகளை foreach மடக்கு மூலம் வரிசையாக எளிதாகக் கையாளுதல்.
- நுழைவுச் சோதனை மற்றும் வெளியேற்றச் சோதனை மடக்குகளின் செயல்பாட்டு வேறுபாடுகளைப் பகுப்பாய்வு செய்தல்.
தொடங்குவதற்கு முன்
- PHP மொழியின் அடிப்படை அறிமுகம் மற்றும் அதன் தொடரியல் பற்றிய புரிதல்.
- மாறிகள், தரவு வகைகள் மற்றும் கட்டுப்பாட்டு அமைப்புகளின் செயல்பாடுகள் பற்றிய அடிப்படை அறிவு.
- அணிகள் (Arrays) மற்றும் அவற்றின் உறுப்புகள் சேமிக்கப்படும் முறை பற்றிய அடிப்படைகள்.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
PHP-ல் மடக்குகள் — விரிவான விளக்கம்
PHP-ல் உள்ள பல்வேறு மடக்கு அமைப்புகளின் விரிவான கண்ணோட்டம்
மடக்கு அமைப்புகள் பற்றிய அறிமுகம்
நிரலாக்கத்தில் மடக்குகள் என்பவை ஒரு குறிப்பிட்ட தருக்க நிபந்தனை பூர்த்தியாகும் வரை அல்லது ஒரு குறிப்பிட்ட எண்ணிக்கையிலான முறை வரை குறியீட்டுத் தொகுதியை மீண்டும் மீண்டும் இயக்கப் பயன்படும் மிக முக்கியமான கட்டுப்பாட்டு கட்டமைப்புகள் ஆகும். PHP மொழியானது பலதரப்பட்ட சுழற்சித் தேவைகளைப் பூர்த்தி செய்வதற்காக நான்கு வகையான முக்கிய மடக்குகளை நமக்கு வழங்குகிறது. இவை பெரிய அளவிலான தரவுத் தொகுப்புகளைக் கையாளும் போது குறியீடுகளின் நீளத்தைக் குறைக்கவும், கணினியின் செயல்திறனை கணிசமாக அதிகரிக்கவும் உதவுகின்றன. பன்னிரண்டாம் வகுப்பு கணினி பயன்பாடுகள் பாடத்திட்டத்தில் உள்ள மிக முக்கியமான பகுதிகளில் இதுவும் ஒன்றாகும், இது மாணவர்களுக்கு தருக்க சிந்தனையை மிகச் சிறந்த முறையில் வளர்க்க பெரிதும் உதவுகிறது.
ஃபார் (for) மடக்கு
ஃபார் மடக்கு என்பது ஒரு நுழைவு சோதனை மடக்காகும், இது ஒரு குறியீட்டுத் தொகுதியை எத்தனை முறை இயக்க வேண்டும் என்று நிரலருக்கு முன்கூட்டியே தெளிவாகவும் துல்லியமாகவும் தெரிந்திருக்கும் சூழ்நிலைகளில் மிகவும் பொருத்தமாகப் பயன்படுத்தப்படுகிறது. இதன் அமைப்பில் தொடக்க மதிப்பிருத்தல், நிபந்தனை சோதிப்பு மற்றும் மாறிகளின் மதிப்பு புதுப்பித்தல் (அதாவது மிகுப்பு அல்லது குறைப்பு செயல்பாடு) ஆகிய மூன்று முக்கிய கூறுகள் ஒரே அடைப்புக்குறிக்குள் மிக நேர்த்தியாக வரிசைப்படுத்திக் கொடுக்கப்படுகின்றன. ஒவ்வொரு சுழற்சிக்கும் முன் நிபந்தனை துல்லியமாகச் சரிபார்க்கப்பட்டு, அது உண்மையாக இருந்தால் மட்டுமே குறியீடு இயக்கப்படும். இது சுழற்சிகளின் எண்ணிக்கையைக் கட்டுப்படுத்த மிகவும் உகந்த எளிய மடக்காகும்.
வைல் (while) மடக்கு
வைல் மடக்கு என்பதும் ஒரு நுழைவு சோதனை மடக்கே ஆகும், ஆனால் இது ஒரு குறிப்பிட்ட தருக்க நிபந்தனை உண்மையாக இருக்கும் வரை குறியீட்டை மீண்டும் மீண்டும் தொடர்ச்சியாக இயக்கப் பயன்படுகிறது. இதில் சுழற்சியின் எண்ணிக்கையை முன்கூட்டியே துல்லியமாகக் கணிக்க முடியாத போது, ஒரு குறிப்பிட்ட தருக்க நிலை மாறும் வரை நிரலைத் தொடர இது மிகவும் பயனுள்ளதாக இருக்கும். மடக்கின் தொடக்கத்திலேயே நிபந்தனை சோதிக்கப்படுவதால், நிபந்தனை ஆரம்பத்திலேயே தவறாக இருந்தால் குறியீட்டுத் தொகுதி ஒருமுறை கூட இயங்காமல் முற்றிலும் தவிர்க்கப்படும் என்பது வைல் மடக்கின் மிக முக்கிய தருக்க மற்றும் செயல்பாட்டு அம்சமாகும்.
டூ-வைல் (do-while) மடக்கு
டூ-வைல் மடக்கு என்பது ஒரு வெளியேற்ற சோதனை மடக்காகும், இது வைல் மடக்குடன் நெருங்கிய தொடர்புடையது என்றாலும் அதன் செயல்பாட்டு வரிசையில் முற்றிலும் வேறுபடுகிறது. இதில் முதலாவதாக குறியீட்டுத் தொகுதி ஒரு முறை இயக்கப்பட்ட பின்னரே, மடக்கின் இறுதியில் நிபந்தனை சோதிக்கப்படுகிறது. இதன் காரணமாக நிபந்தனை தொடக்கத்திலேயே தவறாக இருந்தாலும் கூட, குறியீடானது குறைந்தபட்சம் ஒரு முறையாவது கண்டிப்பாக திரையில் இயக்கப்பட்டுவிடும். சுழற்சியை ஒரு முறையாவது இயக்கிய பின்பே நிபந்தனையைச் சரிபார்க்க வேண்டிய சூழ்நிலைகளுக்கு இதுவே மிகச் சிறந்த மற்றும் மிகவும் பாதுகாப்பான தேர்வாகக் கருதப்படுகிறது.
ஃபார்-ஈச் (foreach) மடக்கு
ஃபார்-ஈச் மடக்கு என்பது PHP மொழிக்கே உரிய ஒரு தனித்துவமான சிறப்பு மடக்காகும், இது அணிகளில் சேமிக்கப்பட்டுள்ள பல்வேறு உறுப்புகளை ஒவ்வொன்றாக அணுகுவதற்காகவே பிரத்யேகமாக வடிவமைக்கப்பட்டுள்ளது. இந்த மடக்கைப் பயன்படுத்தும் போது அணிகளின் மொத்த நீளத்தையோ அல்லது உறுப்புகளின் சுட்டெண்களையோ நாம் கைமுறையாகக் கணக்கிட்டுக் குறிப்பிட வேண்டிய அவசியமில்லை. அணிக்குள் இருக்கும் ஒவ்வொரு உறுப்பின் மதிப்பும் ஒவ்வொரு சுழற்சியின் போதும் ஒரு தற்காலிக மாறியில் தானாகவே இருத்தப்பட்டு எளிமையாக இயக்கப்படும். அணிகளின் சிக்கலான தரவுகளை மிக நேர்த்தியாகவும் பிழையின்றியும் கையாள்வதற்கு ஃபார்-ஈச் மடக்கு சிறந்த வழிமுறையாகும்.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- மடக்கு மாறிகளின் மதிப்பை புதுப்பிக்கத் தவறுதல், இதனால் முடிவிலா மடக்கு (infinite loop) ஏற்பட்டு இணைய உலாவி செயலிழக்கும்; எப்போதும் மாறிகளின் மதிப்பை மிகுக்க அல்லது குறைக்க வேண்டும்.
- do-while மடக்கின் இறுதியில் அரைப்புள்ளியை (;) வைக்க மறந்துவிடுதல்; do-while மடக்கின் while நிபந்தனைக்கு அடுத்து எப்போதும் அரைப்புள்ளி இட வேண்டும்.
- foreach மடக்கை சாதாரண மாறிகளுடன் பயன்படுத்த முயற்சித்தல்; foreach மடக்கை எப்போதும் அணிகள் (arrays) அல்லது பொருட்களுடன் மட்டுமே பயன்படுத்த வேண்டும்.
- நிபந்தனைகளில் ஒற்றை சமக் குறியைப் (=) பயன்படுத்துதல், இது மதிப்பிருத்தலாக மாறிவிடும்; ஒப்பீட்டிற்கு எப்போதும் இரட்டை (==) அல்லது மூன்று (===) சமக் குறிகளைப் பயன்படுத்த வேண்டும்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
PHP-ல் மடக்கு என்றால் என்ன?
PHP-ல் மடக்கு என்பது ஒரு குறிப்பிட்ட தருக்க நிபந்தனை உண்மையாக இருக்கும் வரை அல்லது கொடுக்கப்பட்ட எண்ணிக்கை முடியும் வரை, ஒரு குறிமுறைத் தொகுதியைத் திரையில் மீண்டும் மீண்டும் இயக்குவதற்குப் பயன்படும் கட்டுப்பாட்டு கட்டமைப்பு ஆகும். இது நிரலின் வரிகளைக் குறைத்து நிரலாக்கச் செயல்பாட்டை எளிமையாக்க உதவுகிறது என்பதை நாம் நினைவில் கொள்ள வேண்டும்.
நுழைவு சோதனை மடக்கு என்றால் என்ன?
ஒரு குறியீட்டுத் தொகுதியைத் திரையில் இயக்குவதற்கு முன்பாகவே கொடுக்கப்பட்ட நிபந்தனையைச் சரிபார்க்கும் மடக்குகள் நுழைவு சோதனை மடக்குகள் என்று அழைக்கப்படுகின்றன. நிபந்தனை உண்மையாக இருந்தால் மட்டுமே குறியீடு இயங்கும். இதற்கு PHP மொழியில் உள்ள ஃபார் மற்றும் வைல் மடக்குகள் மிகச் சிறந்த மற்றும் எளிமையான எடுத்துக்காட்டுகள் ஆகும் என்று நாம் கூறலாம். இவை பொதுவாகப் பயன்படுகின்றன.
do while மடக்கு எவ்வாறு செயல்படுகிறது?
டூ-வைல் மடக்கு என்பது ஒரு வெளியேற்ற சோதனை மடக்காகும். இதில் முதலில் குறிமுறைத் தொகுதி ஒரு முறை இயக்கப்பட்ட பின்னரே நிபந்தனை சரிபார்க்கப்படுகிறது. இதன் காரணமாக நிபந்தனை தவறாக இருந்தாலும் கூட குறியீடு குறைந்தபட்சம் ஒரு முறையாவது கண்டிப்பாக இயங்கும் என்பது இதன் மிக முக்கியமான தருக்கச் சிறப்பம்சமாகும் என்பதை நாம் அறியலாம். இதனை நினைவில் கொள்க.
foreach மடக்கு எப்போது பயன்படுத்தப்படுகிறது?
ஃபார்-ஈச் மடக்கு அணிகளில் சேமிக்கப்பட்டுள்ள உறுப்புகளை ஒவ்வொன்றாக அணுகுவதற்குப் பயன்படுத்தப்படுகிறது. அணிகளின் நீளத்தையோ அல்லது உறுப்புகளின் எண்ணிக்கையையோ நாம் கைமுறையாகக் குறிப்பிடத் தேவையில்லாத போது, உறுப்புகளை வரிசையாக மிக எளிமையாகவும் பிழையின்றியும் கையாளுவதற்கு இது பயன்படுத்தப்படும் சிறந்த சிறப்பு மடக்கு ஆகும் என்று நாம் தெளிவாகக் கூறலாம். இது அணிகளுக்கு மிகவும் உகந்தது.
முடிவிலா மடக்கு என்றால் என்ன?
ஒரு மடக்கின் நிபந்தனை எப்போதும் உண்மையாகவே இருந்து, அது முடிவில்லாமல் தொடர்ந்து இயங்கிக் கொண்டே இருந்தால் அது முடிவிலா மடக்கு எனப்படும். பொதுவாக மாறிகளின் மதிப்பை சுழற்சியில் புதுப்பிக்கத் தவறும் போது இது நிகழ்கிறது. இது கணினியின் நினைவகத்தை முழுமையாக ஆக்கிரமித்து இணைய உலாவியைச் செயலிழக்கச் செய்துவிடும் என்பதால் கவனமாக இருக்க வேண்டும். இது முக்கியமானது.
while மற்றும் do while வேறுபாடு என்ன?
வைல் மடக்கில் நிபந்தனை தொடக்கத்திலேயே சரிபார்க்கப்படும், எனவே நிபந்தனை தவறாக இருந்தால் குறியீடு ஒருமுறை கூட இயங்காது. ஆனால் டூ-வைல் மடக்கில் நிபந்தனை இறுதியிலேயே சோதிக்கப்படுவதால், நிபந்தனை ஆரம்பத்திலேயே தவறாக இருந்தாலும் குறியீடு குறைந்தபட்சம் ஒரு முறையாவது திரையில் கண்டிப்பாக இயங்கும் என்பதுதான் இவற்றின் முக்கிய வேறுபாடாகும் என்று நாம் தெளிவாகக் கூறலாம்.
கடைசியாகப் புதுப்பிக்கப்பட்டது 12 ஆகஸ்ட் 2026