PHP செயற்கூறுகள் மற்றும் அணிகள் அறிமுகம்
இந்த அத்தியாயம் பி.எச்.பி (PHP) நிரலாக்க மொழியில் செயற்கூறுகள் மற்றும் அணிகளின் அடிப்படைக் கருத்துக்களைப் பற்றி விரிவாக விளக்குகிறது. இதில் உள்ளிணைந்த மற்றும் பயனர் வரையறுக்கும் செயற்கூறுகள் எவ்வாறு செயல்படுகின்றன என்பதும், சுட்டெண் கொண்ட அணி, தொடர்புருத்த அணி மற்றும் பல பரிமாண அணிகளை உருவாக்கி கையாள்வது எப்படி என்பதும் தெளிவாக விளக்கப்பட்டுள்ளன. இதன் மூலம் மாணவர்கள் நிரல் மறுபயன்பாடு மற்றும் தரவுக் கட்டமைப்புகளை மிக எளிதாகக் கற்றுக்கொள்ளலாம்.
இந்தப் பாடத்தைப் படியுங்கள்
PHP செயற்கூறுகள் மற்றும் அணிகள் பற்றி
நடுத்தரம் ~90 நிமிடப் படிப்பு
இணையப் பயன்பாடுகளை வடிவமைப்பதிலும் உருவாக்குவதிலும் பி.எச்.பி (PHP) என்னும் சேவையகம் சார்ந்த ஸ்கிரிப்டிங் மொழி உலகளவில் மிகவும் சக்திவாய்ந்த மற்றும் பரவலாகப் பயன்படுத்தப்படும் ஒரு மொழியாகத் திகழ்கிறது. ஒரு சிக்கலான கணினி நிரலை சிறிய, எளிதில் நிர்வகிக்கக்கூடிய தொகுதிகளாகப் பிரித்து எழுதுவதற்கும், எழுதிய குறியீடுகளை மீண்டும் மீண்டும் பல இடங்களில் பயன்படுத்துவதற்கும் செயற்கூறுகள் (Functions) என்னும் அம்சம் மிகவும் இன்றியமையாததாகக் கருதப்படுகிறது. நிரலாக்கத்தில் குறியீட்டு மறுபயன்பாடு மற்றும் எளிதான பிழைத்திருத்தம் ஆகியவற்றைச் சாத்தியமாக்குவதில் செயற்கூறுகள் முக்கியப் பங்கு வகிக்கின்றன.
மற்றொரு புறம், ஒரே பெயரில் பல்வேறு வகையான தரவு மதிப்புகளை முறைப்படுத்தி சேமித்து வைப்பதற்கு அணிகள் (Arrays) என்னும் தரவுக் கட்டமைப்பு மிகச் சிறந்த முறையில் பயன்படுகிறது. பி.எச்.பி மொழியில் உள்ள செயற்கூறுகளும் அணிகளும் ஒன்றிணைந்து செயல்படும்போது, அவை மிக அதிக அளவிலான தரவுகளைக் குறைந்த நேரத்தில் கையாண்டு வேகமாகவும் திறமையாகவும் இயங்கக்கூடிய இணையப் பயன்பாடுகளை உருவாக்க உதவுகின்றன. இந்த அத்தியாயத்தின் மூலம் செயற்கூறுகள் மற்றும் அணிகளின் பல்வேறு வகைகளைப் பற்றியும், அவற்றின் தர்க்கரீதியான ஒருங்கிணைப்பு பற்றியும் மாணவர்கள் மிக ஆழமான மற்றும் தெளிவான புரிதலைப் பெற முடியும்.
தமிழக மேல்நிலை இரண்டாம் ஆண்டு கணினி பயன்பாடுகள் பாடத்திட்டத்தில், இந்த ஐந்தாவது அத்தியாயம் மிகவும் முக்கியமானதாகக் கருதப்படுகிறது. அரசு பொதுத் தேர்வுகளில், செயற்கூறுகளின் கட்டமைப்பு, பயனர் வரையறுக்கும் செயற்கூறுகளின் இயல்பு, மற்றும் சுட்டெண், தொடர்புருத்த, பல பரிமாண அணிகளின் வேறுபாடுகள் குறித்த வினாக்கள் அடிக்கடி கேட்கப்படுகின்றன. மேலும், இந்த அத்தியாயத்திலிருந்து கேட்கப்படும் நடைமுறைப் பயன்பாடு சார்ந்த தர்க்கக் கேள்விகள் மற்றும் நிரல் பகுப்பாய்வுக் கேள்விகள் மாணவர்களின் நிரலாக்கத் திறனையும் அவர்களின் சிந்திக்கும் திறனையும் மிகச் சிறந்த முறையில் சோதிக்கும் வகையில் தேர்வுகளில் முக்கிய இடத்தைப் பிடிக்கின்றன.
நீங்கள் கற்பவை
- வரையறுக்க எளிதான செயற்கூறுகளை சொந்தமாக உருவாக்கி நிரல்களில் பயன்படுத்துதல்.
- அணிகளின் வகைகளை வேறுபடுத்தி அறிந்து பொருத்தமான இடங்களில் செயல்படுத்துதல்.
- சுட்டெண் மற்றும் தொடர்புருத்த அணிகளின் உறுப்புகளை அணுகி தரவுகளை கையாளுதல்.
- பல பரிமாண அணிகளை உருவாக்கி சிக்கலான அட்டவணை தரவுகளை நிர்வகித்தல்.
- சரங்களின் நீளம் மற்றும் பிற பயன்பாடுகளுக்கு உள்ளிணைந்த செயற்கூறுகளை இயக்குதல்.
தொடங்குவதற்கு முன்
- பி.எச்.பி மாறிகள் மற்றும் அவற்றின் தரவினங்கள் பற்றிய அடிப்படை அறிவு.
- பி.எச்.பி கட்டுப்பாட்டு கட்டமைப்புகள் மற்றும் மடக்குகள் பற்றிய புரிதல்.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
PHP செயற்கூறுகள் மற்றும் அணிகள் — விரிவான விளக்கம்
PHP செயற்கூறுகள் மற்றும் அணிகளின் முழுமையான செயல்பாடுகள்
1. PHP செயற்கூறுகளின் அடிப்படை அறிமுகம்
செயற்கூறு என்பது ஒரு குறிப்பிட்ட பணியை அல்லது கணக்கீட்டைச் செய்வதற்காக எழுதப்பட்ட தனித்த குறியீட்டுத் தொகுதியாகும். இது நிரலாக்கத்தில் மிக முக்கியமான குறியீட்டு மறுபயன்பாட்டை (Code Reuse) சிறப்பாக வழங்குகிறது. ஒரே குறியீட்டைப் பலமுறை எழுதாமல், தேவைப்படும் இடங்களில் எல்லாம் செயற்கூறுகளை அழைப்பதன் மூலம் நிரல் வரிகளின் எண்ணிக்கை கணிசமாகக் குறைகிறது. மேலும், இது பெரிய நிரல்களைச் சிறிய தொகுதிகளாகப் பிரித்து எளிய முறையில் பராமரிக்கவும், பிழைகளை மிக விரைவாகக் கண்டறிந்து திருத்தவும் உதவுகிறது.
2. PHP உள்ளிணைந்த செயற்கூறுகளின் சிறப்புகள்
பி.எச்.பி மொழியில் ஏற்கனவே வரையறுக்கப்பட்டு, மொழிபெயர்ப்பானில் தயாராக இருக்கும் செயற்கூறுகள் உள்ளிணைந்த செயற்கூறுகள் (Built-in functions) எனப்படும். இவை சரம் கையாளுதல், கணிதக் கணக்கீடுகள், தேதிகள் மற்றும் கோப்புகளை நிர்வகித்தல் போன்ற பல்வேறு தேவைகளுக்காகப் பயன்படுகின்றன. எடுத்துக்காட்டாக, ஒரு சரத்தின் நீளத்தைக் கண்டறிய 'strlen()' செயற்கூறும், அணியின் உறுப்புகளை எண்ண 'count()' செயற்கூறும் பயன்படுகின்றன. இவற்றை நிரலர்கள் தங்கள் நிரலில் நேரடியாகப் பயன்படுத்திக் கொண்டு விரைவாக முடிவுகளைப் பெறலாம்.
3. பயனர் வரையறுக்கும் செயற்கூறுகள் உருவாக்கம்
நிரலர்கள் தங்களின் குறிப்பிட்ட தேவைகளுக்காகவும் தனிப்பயன் பணிகளுக்காகவும் சொந்தமாக உருவாக்கும் செயற்கூறுகள் பயனர் வரையறுக்கும் செயற்கூறுகள் (User-defined functions) ஆகும். இவை 'function' என்ற சிறப்புச் சொல்லுடன் தொடங்க வேண்டும். செயற்கூறு பெயர்கள் எழுத்து வடிவிறக்கம் அற்றவை ஆகும். இந்த செயற்கூறுகள் அளபுருக்கள் (Parameters) மற்றும் செயலுருபுகளைக் (Arguments) கொண்டு மதிப்புகளைப் பெற்றுக்கொண்டு, 'return' கூற்றின் மூலம் தேவையான இறுதி முடிவுகளை முதன்மை நிரலுக்குத் திருப்பி அனுப்பும் தனித்துவமான திறனைப் பெற்றுள்ளன.
4. அணிகள் பற்றிய அடிப்படைக் கருத்துக்கள்
அணி (Array) என்பது ஒரு ஒற்றை மாறியில் பல மதிப்புகளைச் சேமித்து வைக்கப் பயன்படும் ஒரு சிறப்புத் தரவினம் ஆகும். பி.எச்.பி-யில் அணிகள் மிகவும் நெகிழ்வுத்தன்மை கொண்டவை. ஏனெனில், மற்ற நிரலாக்க மொழிகளைப் போல ஒரே வகையான தரவு மதிப்புகளை மட்டுமே சேமிக்க வேண்டும் என்ற கட்டாயம் இன்றி, வெவ்வேறு வகையான தரவுகளையும் ஒரே அணிக்குள் சேமிக்க முடியும். இது தொடர்புடைய தரவுக் குழுக்களை வரிசைப்படுத்தி நிர்வகிக்கவும், நினைவக இடத்தைச் சிறப்பாகப் பயன்படுத்தவும் நிரலர்களுக்குப் பெரிதும் துணைபுரிகிறது.
5. சுட்டெண் கொண்ட அணிகளின் அமைப்பு
சுட்டெண் கொண்ட அணிகள் (Indexed arrays) என்பவை அணியின் உறுப்புகளை அணுக எண்களை அடிப்படையாகக் கொண்ட சுட்டெண்களைப் பயன்படுத்துகின்றன. பி.எச்.பி-யில் அணியின் சுட்டெண் மதிப்பு எப்போதும் பூஜ்ஜியத்தில் (0) தொடங்கி படிப்படியாக அதிகரிக்கும். இந்த அணிகளை சதுர அடைப்புக்குறிகள் [ ] அல்லது 'array()' என்ற உள்ளிணைந்த செயற்கூறைப் பயன்படுத்தி மிக எளிய முறையில் உருவாக்கலாம். குறிப்பிட்ட உறுப்பை அணுக அதன் சுட்டெண்ணை அடைப்புக்குறிக்குள் குறிப்பிட்டுப் பயன்படுத்தி எளிதாகக் கையாள முடியும்.
6. தொடர்புருத்த அணிகளின் தனித்தன்மை
தொடர்புருத்த அணிகள் (Associative arrays) என்பது எண்களுக்குப் பதிலாக லேபிள்கள் எனப்படும் பெயரிடப்பட்ட தனித்துவமான திறவுகோல்களைப் (Keys) பயன்படுத்தி உறுப்புகளையும் அவற்றின் மதிப்புகளையும் சேமிக்கும் அமைப்பாகும். இதில் ஒவ்வொரு மதிப்பும் ஒரு குறிப்பிட்ட திறவுகோலுடன் இணைக்கப்பட்டிருக்கும். இது போன்ற தரவுக் கட்டமைப்பு, தரவுகளை அடையாளம் காண்பதை மிகவும் எளிமையாக்குகிறது. குறிப்பாக, மாணவர்களின் பெயர்களுடன் அவர்களின் மதிப்பெண்களையோ அல்லது ஊழியர்களின் பெயர்களுடன் அவர்களின் மாதாந்திர ஊதியத்தையோ இணைத்து நிர்வகிக்க இது பயன்படுகிறது.
7. பல பரிமாண அணிகளின் முக்கியத்துவம்
பல பரிமாண அணிகள் (Multidimensional arrays) என்பது ஒன்று அல்லது அதற்கு மேற்பட்ட அணிகளைத் தங்களுக்குள் உறுப்புகளாகக் கொண்ட பின்னலான அணிகள் ஆகும். இவை பொதுவாக அட்டவணை போன்ற இரு பரிமாண அல்லது முப்பரிமாண சிக்கலான தரவுகளைச் சேமித்து வைக்கப் பயன்படுகின்றன. இதன் உறுப்புகளை அணுகும்போது, முதலில் அதன் வரிசையையும், இரண்டாவதாக அதன் நெடுவரிசையையும் குறிக்கும் வகையில் இரண்டு தனித்தனி சதுர அடைப்புக்குறிகளைப் பயன்படுத்த வேண்டும். இது பெரிய தரவுத் தொகுப்புகளை நிர்வகிக்க உதவும் மிகச் சிறந்த தொழில் நுட்பமாகும்.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- தவறு: செயற்கூறு பெயர்களை எழுத்து வடிவுணர்வு உடையதாகக் கருதுதல். திருத்தம்: PHP-இல் செயற்கூறு பெயர்கள் எழுத்து வடிவுணர்வு அற்றவை (Not case-sensitive).
- தவறு: அணியின் முதல் சுட்டெண் மதிப்பு 1 என்று நினைத்தல். திருத்தம்: சுட்டெண் கொண்ட அணியின் முதல் உறுப்பு எப்போதுமே பூஜ்ஜியத்தில் (0) தொடங்கும்.
- தவறு: தொடர்புருத்த அணியில் எண்களை சுட்டெண்ணாகப் பயன்படுத்துதல். திருத்தம்: தொடர்புருத்த அணியில் லேபிள்கள் எனப்படும் பெயரிடப்பட்ட திறவுகோல்களை மட்டுமே பயன்படுத்த வேண்டும்.
- தவறு: செயற்கூறின் இறுதியில் காற்புள்ளி (semicolon) இட மறப்பது. திருத்தம்: ஒவ்வொரு PHP கூற்றின் இறுதியிலும் கட்டாயம் காற்புள்ளி இட வேண்டும்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
PHP-இல் செயற்கூறு என்றால் என்ன?
செயற்கூறு என்பது ஒரு குறிப்பிட்ட பணியைச் செய்வதற்காக நிரலாக்க மொழியில் எழுதப்பட்ட குறியீட்டுத் தொகுதியாகும். இது நிரலின் மறுபயன்பாட்டை அதிகமாக்கி, குறியீடு எழுதும் நேரத்தைக் குறைக்கிறது. இதனால் பெரிய மற்றும் சிக்கலான நிரல்களைச் சிறிய தொகுதிகளாகப் பிரித்து எளிய முறையில் பராமரிக்கவும், பிழைகளை மிக விரைவாகக் கண்டறிந்து சிறந்த முறையில் பிழைதிருத்தம் செய்து இயக்கவும் முடியும்.
உள்ளிணைந்த மற்றும் பயனர் வரையறுக்கும் செயற்கூறுகளுக்கு என்ன வேறுபாடு?
உள்ளிணைந்த செயற்கூறுகள் என்பவை பி.எச்.பி மொழியிலேயே முன்பே வரையறுக்கப்பட்டு தயாராக இருக்கும் சிறந்த செயற்கூறுகள் ஆகும். இவற்றை நிரலர்கள் நேரடியாகத் தங்களின் இணைய நிரலில் பயன்படுத்திக் கொள்ளலாம். மாறாக, பயனர் வரையறுக்கும் செயற்கூறுகள் என்பவை நிரலர்கள் தங்களின் குறிப்பிட்ட சொந்தத் தேவைகளுக்காகவும் தனிப்பயன் பணிகளுக்காகவும் சொந்தமாக உருவாக்கும் மிகச் சிறந்த தனித்துவமான செயற்கூறுகள் ஆகும் என்பதைக் கவனத்தில் கொள்க.
அணி (Array) என்றால் என்ன மற்றும் அதன் பயன் என்ன?
அணி என்பது ஒன்றுக்கு மேற்பட்ட தரவு மதிப்புகளை ஒற்றை மாறியில் சேமித்து வைக்கப் பயன்படும் ஒரு சிறப்புத் தரவுக் கட்டமைப்பாகும். பி.எச்.பி-யில் ஒரே மாறியில் வெவ்வேறு வகையான தரவினங்களையும் மிகச் சிறந்த முறையில் சேமிக்க முடியும். இது தொடர்புடைய தரவுக் குழுக்களை வரிசைப்படுத்தி எளிதாக நிர்வகிக்கவும், கணினியின் நினைவக இடத்தைச் சிறப்பாகப் பயன்படுத்தவும் நிரலர்களுக்குப் பெரிதும் உதவுகிறது.
தொடர்புருத்த அணி என்றால் என்ன?
தொடர்புருத்த அணி என்பது உறுப்புகளை அணுக எண்களுக்குப் பதிலாக லேபிள்கள் எனப்படும் பெயரிடப்பட்ட தனித்துவமான திறவுகோல்களைப் பயன்படுத்தும் ஒரு கட்டமைப்பாகும். இதில் ஒவ்வொரு மதிப்பும் ஒரு குறிப்பிட்ட திறவுகோலுடன் இணைக்கப்பட்டிருக்கும். இது போன்ற தரவுக் கட்டமைப்பு, பெரிய தரவுத் தொகுப்புகளில் தேவையான தரவுகளை மிக எளிதாக அடையாளம் காணவும், விரைவாக அணுகிக் கையாளவும் மிகச் சிறந்த முறையில் பயன்படுகிறது.
பல பரிமாண அணி எவ்வாறு செயல்படுகிறது?
பல பரிமாண அணி என்பது ஒன்று அல்லது அதற்கு மேற்பட்ட அணிகளைத் தங்களுக்குள் உறுப்புகளாகக் கொண்டுள்ள ஒரு பின்னலான அணியாகும். இவை பொதுவாக அட்டவணை வடிவத்திலான இரு பரிமாண அல்லது முப்பரிமாண சிக்கலான தரவு அமைப்புகளைச் சேமிக்கப் பயன்படுகின்றன. இதன் உறுப்புகளை அணுகும்போது, முதலில் அதன் வரிசையையும், இரண்டாவதாக நெடுவரிசையையும் குறிக்க இரண்டு சதுர அடைப்புக்குறிகள் தேவைப்படுகின்றன.
செயற்கூறுகளை எவ்வாறு அழைப்பது?
ஒரு செயற்கூறை இயக்க அதன் பெயரை எழுதி, அடைப்புக்குறிக்குள் தேவையான செயலுருபுகளை அனுப்ப வேண்டும். அளபுருக்கள் இல்லாத செயற்கூறுகளை அடைப்புக்குறிக்குள் எந்த மதிப்பும் இன்றி நேரடியாக அழைக்கலாம். செயற்கூறு தன் பணியை முடித்ததும், 'return' கூற்றைப் பயன்படுத்தி இறுதி மதிப்பை முதன்மை நிரலுக்குத் திருப்பி அனுப்பும் தனித்துவமான ஆற்றல் வாய்ந்த மாபெரும் திறனைப் பெற்றுள்ளது என்பதில் எவ்வித சந்தேகமும் இல்லை.
கடைசியாகப் புதுப்பிக்கப்பட்டது 12 ஆகஸ்ட் 2026