PHP செயற்கூறுகள் மற்றும் அணிகள்: ஒரு மதிப்பெண் வினாக்கள், புத்தக வினா விடைகள் மற்றும் குறிப்புகள்
செயற்கூறுகள் (functions) ஒரு பணியை ஒருமுறை எழுதி, அதன் பெயரைச் சொல்லி அழைக்க உதவுகின்றன. அணிகள் (arrays) ஒரே மாறியில் பல மதிப்புகளை வைத்திருக்க உதவுகின்றன. பயனர் வரையறுக்கும் செயற்கூறுகளை வரையறுத்து அழைப்பது, அளபுருக்கள் செயலுருபுகளைப் பெறும் விதம், பொதுவான உள்ளிணைந்த செயற்கூறுகள், சுட்டெண், தொடர்புருத்த, பல பரிமாண அணிகள், foreach மூலம் அணியைச் சுற்றி வருவது ஆகியவற்றை இந்தக் குறிப்புகள் விளக்குகின்றன.
இந்தப் பாடத்தைப் படியுங்கள்
முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டவை
இந்தப் பாடத்திலிருந்து 6 வினாக்கள் 6 முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டன. விடையையும் விளக்கத்தையும் காண எந்த வினாவையும் திறக்கவும்.
-
மார்ச் 2026
__________ என்பது ஒரு குறிப்பிட்ட பணியைச் செய்வதற்கான குறிமுறைத் தொகுதியாகும்.விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2025
PHP இல் எத்தனை வகையான அணிகள் உள்ளன ?விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2024
PHP இல் பயனர் வரையறுக்கும் செயற்கூறு __________ என்ற சிறப்புச் சொல்லுடன் தொடங்க வேண்டும்.விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2023
தொடர்புருத்த அணிகள் என்பது ________ இணைந்த தரவு கட்டமைப்பாகும்.விடையுடன் வினாத்தாளில் பார் →
-
மே 2022
________ என்பது ஒரே தரவு வகையை சார்ந்த ஒன்றுக்கு மேற்பட்ட மதிப்புகளை மாறியில் தேக்கி வைப்பதாகும்.விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2020
PHP -ல் எத்தனை வகையான செயற்கூறுகள் உள்ளது ?விடையுடன் வினாத்தாளில் பார் →
PHP செயற்கூறுகள் மற்றும் அணிகள் பற்றி
நடுத்தரம் ~90 நிமிடப் படிப்பு
ஒரு நிரல் ஒரு மாணவரின் மொத்த மதிப்பெண்ணைப் பத்து வெவ்வேறு இடங்களில் கணக்கிட வேண்டும் என்று வைத்துக்கொள்ளுங்கள். அதே வரிகளைப் பத்து முறை எழுதினால் நிரல் நீளமாகிவிடும்; ஒரு தவறு இருந்தால் அதைப் பத்து முறை திருத்த வேண்டும். செயற்கூறு அந்த வரிகளை ஒருமுறை எழுதி, அவற்றுக்கு ஒரு பெயர் கொடுத்து, தேவைப்படும் இடத்தில் எல்லாம் அந்தப் பெயரை அழைக்க உதவுகிறது.
அணிகள் வேறொரு சிக்கலைத் தீர்க்கின்றன. $mark1, $mark2, $mark3 என்று தனித்தனியாக உருவாக்குவதற்குப் பதிலாக, எல்லா மதிப்பெண்களையும் $marks என்ற ஒரே மாறியில் சேமித்து, ஒவ்வொன்றையும் அதன் நிலையைக் கொண்டோ ஒரு பெயரைக் கொண்டோ எடுக்கலாம். செயற்கூறுகளும் அணிகளும் பெரும்பாலும் சேர்ந்தே பயன்படுகின்றன: மதிப்பெண்களின் அணியை ஒரு செயற்கூறுக்கு அனுப்பினால், அந்தச் செயற்கூறு மொத்தத்தையோ சராசரியையோ கணக்கிடுகிறது.
இந்தப் பாடத்திலிருந்து வரும் தேர்வு வினாக்கள் செயற்கூறை வரையறுக்கும் தொடரியல், அளபுருக்களுக்கும் செயலுருபுகளுக்கும் உள்ள வேறுபாடு, தொடர்புருத்த அணிகளில் வரும் => குறி, மூன்று வகை அணிகளும் எப்படி வேறுபடுகின்றன என்பவை பற்றிக் கேட்கின்றன. foreach மூலம் அணி உறுப்புகளின் கூட்டுத்தொகையைக் காண்பது போன்ற சிறிய நிரல்கள் செய்முறைத் தேர்விலும் அடிக்கடி வருகின்றன.
நீங்கள் கற்பவை
- PHP-இல் ஒரு பயனர் வரையறுக்கும் செயற்கூறை வரையறுத்து, ஸ்கிரிப்டிலிருந்து அதை அழைத்தல்.
- செயற்கூறு வரையறையில் உள்ள அளபுருக்களையும் செயற்கூறு அழைப்பில் உள்ள செயலுருபுகளையும் வேறுபடுத்துதல்.
- array() அல்லது சதுர அடைப்புக்குறிகளைப் பயன்படுத்திச் சுட்டெண் அணியை உருவாக்கி, அதன் உறுப்புகளை மாற்றுதல்.
- சரச் சாவிகளுடன் தொடர்புருத்த அணியை உருவாக்கி, சாவியைக் கொண்டு மதிப்புகளைப் படித்தல்.
- பல பரிமாண அணியை உருவாக்கி, இரண்டு சுட்டெண்களைப் பயன்படுத்தி ஒரு உறுப்பை அணுகுதல்.
- அணியின் உறுப்புகளைச் சுற்றிவர foreach மடக்கைப் பயன்படுத்துதல்.
தொடங்குவதற்கு முன்
- PHP ஒட்டுகள், கூற்றுகள், சேவையகத்தில் ஸ்கிரிப்ட் எப்படி இயங்குகிறது என்பது.
- மாறிகளும், சரம், முழுஎண் போன்ற அடிப்படைத் தரவு வகைகளும்.
- if கூற்றுகளும், for, while போன்ற மடக்குகளும்.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
PHP செயற்கூறுகள் மற்றும் அணிகள் — விரிவான விளக்கம்
PHP-இல் செயற்கூறுகளும் அணிகளும்
செயற்கூறுகள் ஏன் பயன்படுத்தப்படுகின்றன
செயற்கூறு என்பது ஒரு பணியைச் செய்யும், மீண்டும் மீண்டும் பயன்படுத்தக்கூடிய கூற்றுகளின் தொகுதி. ஒவ்வொரு பணியும் தனித் தொகுதியில் இருப்பதால், செயற்கூறுகள் குறிமுறையை மறுபயன்பாட்டுக்கு உரியதாகவும், சுருக்கமாகவும், பிழை திருத்த எளிதாகவும் ஆக்குகின்றன. PHP-இல் ஏராளமான உள்ளிணைந்த செயற்கூறுகள் (built-in functions) உள்ளன. சரத்தின் நீளத்தைக் காண strlen(), அணியை வரிசைப்படுத்த sort() ஆகியவை எடுத்துக்காட்டுகள். நீங்களே செயற்கூறுகளையும் எழுதலாம்; அவை பயனர் வரையறுக்கும் செயற்கூறுகள் (user-defined functions) எனப்படுகின்றன.
செயற்கூறை வரையறுத்தலும் அழைத்தலும்
பயனர் வரையறுக்கும் செயற்கூறு function என்ற முக்கியச் சொல்லுடன் தொடங்குகிறது. அதைத் தொடர்ந்து செயற்கூறின் பெயர், அளபுருக்களை வைத்திருக்கக்கூடிய அடைப்புக்குறிகள், கடைசியாக நெளி அடைப்புக்குறிகளுக்குள் கூற்றுகள் வருகின்றன:
function add($a, $b) { echo $a + $b; }
செயற்கூறு அழைக்கப்படும்போது மட்டுமே இயங்குகிறது. எடுத்துக்காட்டாக add(10, 20); என்று அழைத்தால் 30 அச்சாகும். செயற்கூறின் பெயர் ஒரு எழுத்துடன் அல்லது அடிக்கோட்டுடன் தொடங்க வேண்டும். செயற்கூறுப் பெயர்கள் எழுத்து வடிவ உணர்திறன் கொண்டவை அல்ல; அதனால் ADD(10, 20) அதே செயற்கூறை அழைக்கிறது. வரையறையில் உள்ள $a, $b ஆகியவை அளபுருக்கள் (parameters). அழைப்பில் தரப்படும் 10, 20 என்ற மதிப்புகள் செயலுருபுகள் (arguments). அழைப்பு நடக்கும்போது கட்டுப்பாடு செயற்கூறுக்குச் செல்கிறது, அதன் கூற்றுகள் இயங்குகின்றன, பிறகு கட்டுப்பாடு அழைப்புக்கு அடுத்த வரிக்குத் திரும்புகிறது. செயற்கூறுக்குள் உருவாக்கப்படும் மாறிகள் அந்தச் செயற்கூறுக்கு மட்டுமே உரிய உள்ளமை (local) மாறிகள்.
சுட்டெண் அணிகள்
அணி ஒரே மாறியில் பல மதிப்புகளைச் சேமிக்கிறது. PHP-இல் ஒரே அணியின் உறுப்புகள் வெவ்வேறு வகைகளாக இருக்கலாம்; ஒரு எண்ணும் ஒரு சரமும் சேர்ந்து இருப்பது போல. சுட்டெண் அணி (indexed array) 0-இலிருந்து தொடங்கும் எண்களைச் சுட்டெண்களாகப் பயன்படுத்துகிறது. இதை $subjects = array("Tamil", "English", "Maths"); என்றோ சதுர அடைப்புக்குறிகளுடன் $subjects = ["Tamil", "English", "Maths"]; என்றோ உருவாக்கலாம். இங்கே $subjects[0] என்பது "Tamil", $subjects[2] என்பது "Maths". ஒரு மதிப்பை மாற்றவும் அதே அடைப்புக்குறிகள் பயன்படுகின்றன: $subjects[1] = "Physics";.
தொடர்புருத்த அணிகள்
தொடர்புருத்த அணி (associative array) எண்களுக்குப் பதிலாகப் பெயரிடப்பட்ட சாவிகளைப் பயன்படுத்துகிறது. ஒவ்வொரு சாவியும் => குறியால் அதன் மதிப்புடன் இணைக்கப்படுகிறது: $student = array("name" => "Kavin", "age" => 17, "city" => "Madurai");. பிறகு ஒரு மதிப்பை அதன் சாவியைக் கொண்டு படிக்கலாம்; $student["age"] என்பது 17 தரும். சாவியே மதிப்பை விவரிப்பதால், வயது நிலை 1-இல் உள்ளது என்று நினைவில் வைப்பதைவிட இந்தக் குறிமுறை புரிந்துகொள்ள எளிது.
பல பரிமாண அணிகளும் foreach-உம்
பல பரிமாண அணி (multidimensional array) என்பது உறுப்புகளே அணிகளாக உள்ள ஒரு அணி. வரிசைகளும் நெடுவரிசைகளும் கொண்ட அட்டவணை போல அமைந்த தரவுக்கு இது பொருந்தும். இரண்டு அடைப்புக்குறித் தொகுதிகள் மூலம் ஒரு உறுப்பை அணுகலாம்: $marks[1][2] என்பதில் முதல் சுட்டெண் வரிசையை (உள் அணியை) தேர்வு செய்கிறது; இரண்டாவது நெடுவரிசையை (அதனுள் உள்ள உறுப்பை) தேர்வு செய்கிறது. foreach மடக்கு எண்ணி மாறி இல்லாமலேயே அணியின் ஒவ்வொரு உறுப்பையும் வரிசையாகச் சென்று பார்க்கிறது. foreach ($subjects as $s) ஒவ்வொரு மதிப்பையும் தருகிறது; foreach ($student as $key => $value) ஒவ்வொரு சாவியையும் அதன் மதிப்புடன் தருகிறது.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- மாறிப் பெயர்கள் போலவே செயற்கூறுப் பெயர்களும் எழுத்து வடிவ உணர்திறன் கொண்டவை என்று நினைப்பது. PHP-இல் add(), ADD() இரண்டும் ஒரே செயற்கூறை அழைக்கின்றன. இருந்தாலும் ஒரே எழுத்துக்கூட்டலைப் பயன்படுத்துவது நல்லது.
- அளபுருக்களையும் செயலுருபுகளையும் குழப்புவது. அளபுருக்கள் வரையறையில் இருக்கின்றன; செயலுருபுகள் அழைப்பில் உள்ள மதிப்புகள்.
- சுட்டெண் அணியை 1-இலிருந்து தொடங்குவது. முதல் உறுப்பு சுட்டெண் 0-இல் இருக்கிறது; அதனால் மூன்று உறுப்புகள் கொண்ட அணி சுட்டெண் 2-இல் முடிகிறது.
- PHP அணியின் எல்லா உறுப்புகளும் ஒரே வகையாக இருக்க வேண்டும் என்று நினைப்பது. ஒரே அணியில் கலப்பு வகைகளை PHP அனுமதிக்கிறது.
- தொடர்புருத்த அணியில் சாவிக்கும் மதிப்புக்கும் இடையே => என்பதற்குப் பதிலாக = அல்லது -> பயன்படுத்துவது.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
PHP-இல் ஒரு செயற்கூறை எப்படி வரையறுப்பது?
function என்ற முக்கியச் சொல்லை எழுதுங்கள், பிறகு பெயர், பிறகு அளபுருக்களைக் கொண்ட அடைப்புக்குறிகள், பிறகு நெளி அடைப்புக்குறிகளுக்குள் கூற்றுகள். எடுத்துக்காட்டு: function greet($name) { echo "Hello " . $name; }. பெயர் ஒரு எழுத்துடன் அல்லது அடிக்கோட்டுடன் தொடங்க வேண்டும். greet("Priya"); என்று அழைக்கலாம்.
அளபுருக்களுக்கும் செயலுருபுகளுக்கும் உள்ள வேறுபாடு என்ன?
அளபுருக்கள் செயற்கூறு வரையறையில் பட்டியலிடப்படும் மாறிகள்; function add($a, $b) என்பதில் உள்ள $a, $b போல. செயலுருபுகள் அழைக்கும்போது அனுப்பப்படும் உண்மையான மதிப்புகள்; add(5, 7) என்பதில் உள்ள 5, 7 போல. ஒவ்வொரு செயலுருபும் அதற்குப் பொருந்தும் அளபுருவுக்குள் நகலெடுக்கப்படுகிறது.
PHP செயற்கூறுப் பெயர்கள் எழுத்து வடிவ உணர்திறன் கொண்டவையா?
இல்லை. total() என வரையறுக்கப்பட்ட செயற்கூறை TOTAL() அல்லது Total() என்று பிழையின்றி அழைக்கலாம். ஆனால் மாறிப் பெயர்கள் எழுத்து வடிவ உணர்திறன் கொண்டவை. குறிமுறை படிக்க எளிதாக இருக்க, எங்கும் ஒரே எழுத்துக்கூட்டலைப் பயன்படுத்துங்கள்.
PHP-இல் சுட்டெண் அணியை எப்படி உருவாக்குவது?
array() செயற்கூறைப் பயன்படுத்துங்கள்: $colours = array("red", "green", "blue");. அல்லது சதுர அடைப்புக்குறிகள்: $colours = ["red", "green", "blue"];. PHP உறுப்புகளை 0-இலிருந்து எண்ணிடுகிறது; அதனால் $colours[0] என்பது red, $colours[2] என்பது blue.
தொடர்புருத்த அணி சுட்டெண் அணியிலிருந்து எப்படி வேறுபடுகிறது?
சுட்டெண் அணி தன் உறுப்புகளை அடையாளம் காட்ட 0-இலிருந்து தொடங்கும் எண்களைப் பயன்படுத்துகிறது. தொடர்புருத்த அணி நீங்கள் தேர்வு செய்யும் சாவிகளைப் பயன்படுத்துகிறது; பொதுவாக அவை சரங்கள். ஒவ்வொரு சாவியையும் => மூலம் அதன் மதிப்புடன் இணைக்கிறது. எடுத்துக்காட்டாக, $student[0] என்பதைவிட $student["name"] தெளிவாகப் புரிகிறது.
பல பரிமாண அணியில் ஒரு மதிப்பை எப்படி அணுகுவது?
இரண்டு சதுர அடைப்புக்குறித் தொகுதிகளைப் பயன்படுத்துங்கள். முதல் சுட்டெண் உள் அணியை (வரிசையை) தேர்வு செய்கிறது; இரண்டாவது அதனுள் உள்ள உறுப்பை (நெடுவரிசையை) தேர்வு செய்கிறது. எடுத்துக்காட்டாக, $marks[0][1] என்பது முதல் உள் அணியின் இரண்டாவது உறுப்பு.
கடைசியாகப் புதுப்பிக்கப்பட்டது 17 செப்டெம்பர் 2026