লেখক পরিচিতি
লেখা সম্পর্কিত
পিএইচপি টিউটোরিয়াল পর্ব-৩
পিএইচপি স্টেটমেন্ট
আঊটপুটের জন্য পিএইচপিতে ব্যবহার হওয়া স্টেটমেন্টসমূহ :
echo() স্টেটমেন্ট
এর আগে আমরা একটি স্ট্রিংকে ব্রাউজার আউটপুট হিসেবে দেখতে বপযড় ব্যবহার করেছি।
print () স্টেটমেন্ট
print () স্টেটমেন্ট ব্যবহার করে ও ডাটার আউটপুট দেখা যাবে। যেমন :
1.
2.
3.print “This is my first web page”;
4.
5.?>
echo() স্টেটমেন্ট বেশির ভাগ সময় ব্যবহার করা হয় কেননা এটি তুলনা মূলকভাবে বেশি দ্রুত। তবে print() ও কাজে লাগে। মূলত কোড ডিবাগিংয়ের সময় print() এর দরকার হয়। কিছু অ্যারে দিয়ে দেখা সম্ভব হয় না সেক্ষেত্রে print() দিয়ে দেখা যায়।
print()
ডাইনামিক ডাটা আউটপুটের জন্য এই স্টেটমেন্ট ব্যবহার করা। যেমন :
1.
2.
3. printf(“There are %d article in tutorialpoint”,250);
4.
5. ?>
আউটপুট
There are 250 article in tutorialpoint
এখানে %d এর ভূমিকা হচ্ছে type specifier, printf() স্টেটমেন্টটি এক্সিকিউট হলে type specifier %d এর জায়গাতে ঢুকে যাবে ২৫০। আরো অনেক ধরনের type specifier আছে যেমন, %s, %f, %o। আরো জানতে চাইলে পিএইচপি ম্যানুয়াল দেখতে পারেন। একসাথে একাধিক type specifier ব্যবহার করা যায়। যেমন :
01.
02.
03. $myXam = 2;
04.
05. $myNum = 83.85484513;
06.
07. printf(“In %d nd exam i have got %.3f percent marks”,$myXam,$myNum);
08.
09. ?>
আউটপুট : In 2nd exam i have got 83.855 percent marks
এখানে এর জায়গায় দেয়া হয়েছে কারণ আমরা এখানে দশমিকের পর ৩ ঘর পর্যন্ত চেয়েছি।
sprintf() স্টেটমেন্ট
sprintf() স্টেটমেন্ট এর মতই এবং কাজও একই। তবে পার্থক্য হচ্ছে printf ব্যবহার করা হয় ব্রাউজারে আউটপুট আনার জন্য। sprintf ব্যবহার করা হয় কোনো ভেরিয়েবলে assign করার জন্য। এই ভেরিয়েবল বপযড় করে ব্রাউজারে আউটপুট আনা যায়। যেমন :
1.
2.
3. $how = sprintf (“Here is output: .2f”, 150.42 / 20);
4. echo $how;
5. ?>
এখনে $how ভেরিয়েবলে sprintf স্টেটমেন্ট ব্যবহার করে একটি মান assign করা হয়েছে। তারপর ভেরিয়েবলটি echo করা হয়েছে। printf দিয়ে এর মান সরাসরি echo হয়ে যায়। এটি ব্যবহার করা হয় যখন আমরা ব্রাউহজারে আউটপুট চাচ্ছি না কিন্তু এর মান কোডে কোথাও ব্যবহার করতে চাচ্ছি।
১৫০.৮২ কে ২০ দিয়ে ভাগ করলে ফলাফল আসবে ৭.৫২১। এখানে দশমিক সহ সব মিলিয়ে ঘর আছে ৫ টি। এবং type specifier এ আছে .2f। যার অর্থ হচ্ছে আমরা ব্রাউজারে ৮ ঘর পর্যন্ত আউটপুট চাচ্ছি এবং দশমিকের পর ঘর থাকবে ২ ঘর।
ভাগফলটিতে আছে ৫টি (৭.৫২১) ঘর । প্রশ্ন আসে বাকি ৩ টি ঘরে কি হবে ? উত্তর হচ্ছে বাকি ঘরগুলোতে হবে ০। এজন্য ৮ এর আগে শুন্য (০) দেয়া হয়েছে।
আউটপুট
Here is output: 00007.52
পিএইচপি কমেন্ট : কিছু চিহ্ন আছে যেগুলো পিএইচপি কোডের সামনে দেয়া হলে কোড আর কাজ করেনা। কোডগুলো এডিটরে থাকবে। তাই অনেক দিন পর সে কোডগুলো দেখে সেখানে কমেন্ট না থাকলে বোঝা মুশকিল হবে ঠিক কি করতে চেয়ে ছিলেন। লাইনকে কমেন্ট করে রাখার জন্য // বা # আর অনেক লাইনকে কমেন্ট করে রাখতে চাইলে কোডের আগে /* এবং পরে */ চিহ্ন ব্যবহার করতে হবে।
অনেক অনেক চর্চা করতে হবে। যেটুকু শেখা হয়েছে সেটুকুই। যেমন : কোডের ভেতর
echo “Hello World! “;
echo “Hello World! “;
echo “Hello World! “;
echo “Hello World! “;
echo “Hello World! “;
Gfv‡ei wjL‡Z cv‡ib
01.
02. echo “Hello World!”;
03. //ekhane line break diyesi but output ek line hobe
04. echo “Hello World!”;
05.
06. /*In above there are two line.but output will.
07.
08. will be one line.here multiple line
09.
10.
11. */
12. ?>
উপরে কোডে একটি লাইনকে আমরা কমেন্ট করেছি। সেজন্য আমরা এই // চিহ্ন ব্যবহার করেছি এবং একাধিক লাইন কমেন্ট করতে এই চিহ্ন /**/ ব্যবহার করা হয়েছে।
কোড রান করলে দেখা যাবে পিএইচপি কোডের ভেতর স্পেস কাজ করে না, নতুন নতুন অনেক কিছু শেখার জন্য এভাবে চর্চা করে দেখতে হবে।
পিএইচপিতে আউটপুট ব্রাউজারে দেখানোর জন্য যে দুটি জিনিস ব্যবহার করা হয় সেগুলো হচ্ছে print এবং echo। এগুলো ফাংশন নয়, এগুলোকে ল্যাংগুয়েজ কনস্টাক্ট। এ দুটির মাঝে মিল অনেক বেশি তবে সামান্য কিছু পার্থক্যও আছে যেগুলো জানা জরুরী।
এবং দুটিই ব্র্যাকেট (parentheses) বা ব্র্যাকেট ছাড়া দু‘ভাবেই লেখা যায়। অর্থৎ echo Tutorialpoint’ এবং print (Tutorialpoint’) এদের ফলাফল একই।
আরো কিছু উদাহরণ
1.
2. echo Tutorialpoint is the largest programming tutorial site’;
3. //this can be also written as
4. echo (Tutorialpoint is the largest programming tutorial site’);
5. ?>
আউটপুট : উপরের কোড দুটোর একই ফলাফল আসবে। এর ক্ষক্ষত্রে একই থাকবে।
Tutorialpoint is the largest programming tutorial site
print এর চেয়ে বপযড় একটু দ্রুত কাজ করে। এর আরেকটি গুরুতপূর্ণ ফিচার হচ্ছে এটি একাধিক প্যারামিটার গ্রহণ করতে পারে। print পারে না। যেমন, Tutorialpoint ‘,’ is ‘,’ nice’,’ site’; এর আউট পুট হবে “Tutorialpoint is nice site”. তবে এটিই যখন ব্র্যাকেটের মধ্যে দিলে কাজ করবে না। মানে , (Tutorialpoint’,’ is’,’ nice’,’ site’); এমনভাবে লিখলে কাজ হবে না । এখানে কথা থাকে প্রতিটি আলাদা প্যারামিটারে ব্যবহার করলে আবার কাজ করবে। যেমন, echo (Tutorialpoint’),(‘ is’),(‘ nice’),(‘ site’);
এমন কাজ করে ফাংশনের মত করে এবং একটি মান ফেরত দেয়। যেমন, $exp = print “Hello Bangladesh”; GLv‡b $exp var_dump() দিয়ে দেখা যাবে যে রিটার্ন হচ্ছে কি echo দিয়ে কাজটি হবে না। বেশির ভাগ ক্ষেত্রে ব্যবহার বপযড় করা উচিত। একান্ত বাধ্য না হলে print ব্যবহার না করাই ভালো।