PHP echo and print statement

PHP ECHO VS PRINT

PHP তে সার্ভার থেকে কোনো কিছু অথবা যেকোনো ফলাফল ব্রাউজারে দেখাতে চাইলে আপনাকে echo অথবা print দুটির যেকোনো একটি ব্যবহার করতে হবে। PHP তে এই দুইটা হচ্ছে Language Construct । আর language construct গুলো সাধারণত function থেকে দ্রুততর হয়। কেননা language construct গুলো কোনো রকম কম্পাইল ছাড়াই প্রয়োজনীয় ফলাফল দেখাতে পা রে, অন্য দিকে function গুলো কম্পাইল হওয়ার পর ফলাফল দেখাতে পারে। আর এই দুইটা Language Construct হওয়াতে আপনি parenthesis “i.e ( )” ছাড়া অথবা parenthesis সহ দুই ভাবেই লিখতে পারেন।

যেমন নিচের সব পদ্ধতিই সঠিক :

Zend Certified PHP Engineering (ZCPE) Course

<?php 
echo "Hello world"; 
echo ("Hello World"); 
print "Hello World"; 
print ("Hello World"); 
?>

language construct গুলোকে যেকোনো ল্যাঙ্গুয়েজের মৌলিক উপাদান ও বলা হয়ে থাকে।

Php তে echo এবং print এর মধ্যে কোনো পার্থক্য আছে ? উদাহরণসহ দেখতে চাই।

হাঁ echo এবং print এর মধ্যে বেশ কিছু পার্থক্য আছে। চলুন উদাহরণসহ দেখে নেয়া যাক :

১. echo তে আপনি একাদিক parameter নিতে পারবেন, যদি parenthesis ব্যবহার না করেন। অন্যদিকে print এ আপনি শুধু একটি parameter নিতে পারবেন, হোক সেটা parenthesis সহ অথবা parenthesis ছাড়া। নিচের উদাহরণ গুলো লক্ষ্য করুন :

<?php 
echo "1"; //valid 
echo "1","2"; //valid 
echo ("1","2"); //Invalid 
print "1";  //valid 
print ("2"); //Valid 
print "1","2";  //Invalid 
print ("1","2"); //Invalid 
?>

উপরের ২,৩,৫,৬ নম্বর লাইন সঠিক।  বাকি গুলো ভুল দেখাবে।

২. echo এর কোনো return value নেই।  অন্যদিকে print boolean true মানে 1 রিটার্ন করে। নিচের উদাহরণ দেখলেই বাকিটা ক্লিয়ার হয়ে যাবে:

Zend Certified PHP Engineering (ZCPE) Course

<?php 
echo print (5); // Output 51 
?>

এখানে print এর মাধ্যমে 5 কে ফলাফল হিসাবে পাই । তারপর print এর return ফলাফল 1 আমরা echo এর মাধ্যমে পাই। যার জন্য আমরা এখানে ফলাফল হিসাবে একত্রে 51 পাই।

আরো সহজ ভাবে বুঝার জন্য নিচের উদাহরণটি দেখুন :

<?php
$x = print "Hello World";
echo $x; //Hello World 1

৩. echo কোনো কিছু রিটার্ন করেনা , অর্থাৎ এটি void বা ফাঁকা রিটার্ন করে। এর মানে এটি কোনো expression এর পার্ট হিসাবে ব্যবহার করা যাবে না বা echo কে কোনো ভেরিয়েবলে এসাইন করা যাবে না।

আবার অন্যদিকে print যেহেতু Boolean True বা 1 রিটার্ন করে , তাই আপনি চাইলে এটিকে কোনো expression এর পার্ট হিসাবে ব্যবহার করতে পারেন বা এটি কে যেকোনো ভেরিয়েবলে এসাইনও করতে পারেন।

চলুন ব্যাপারটা নিম্নোক্ত উদাহরণ দিয়ে আরো ভালো ভাবে বুঝা যাক :

ধরুন আপনি দুটি string কে জোড়া লাগাতে চান এবং result টি একটি variable এ সংরক্ষণ করতে চান। আপনি echo দিয়ে সরাসরি এটি করতে পারবেন না কারণ এটি কোনো value কে return করে না যা আপনি একটি ভেরিয়েবলকে বরাদ্দ করতে পারেন। নিচের উদাহরণটি লক্ষ্য করুন:

$string1 = "Hello, ";
$string2 = "World!";

$result = echo $string1 . $string2; // This will cause a syntax error

উপরের কোডে, $result ভেরিয়েবলে echo-এর ফলাফল বরাদ্দ করার চেষ্টা করলে একটি syntax error দেখা দেবে কারণ echo কোনো কিছু রিটার্ন করেনা বা দেয় না যা একটি expression এ ব্যবহার করা যেতে পারে।

এই কাজটি আপনি echo দিয়ে এটি অর্জন করতে হলে , আপনাকে দুটি variable কে পৃথকদুটি echo statement এ ব্যবহার করতে হবে:

$string1 = "Hello, ";
$string2 = "World!";

echo $string1;
echo $string2;

যাইহোক, আপনি যদি strings দুটিকে জোড়া (concatenate) লাগাতে চান এবং একটি variable এ result কে রাখতে বা assign করতে চান, তাহলে আপনার concatenation operator (.) বা print statement ব্যবহার করা উচিত

concatenation operator (.) ব্যবহার করে উদাহরণ:

$string1 = "Hello, ";
$string2 = "World!";

$result = $string1 . $string2; // $result now contains "Hello, World!"

print ব্যবহার করে উদাহরণ:

$string1 = "Hello, ";
$string2 = "World!";

$result = print $string1 . $string2; // $result now contains 1

echo এবং print এর মধ্যে পার্থক্য নিচের টেবিলে তুলে ধরা হলো:

Feature Echo Print
Returns a value No 1
Can take multiple parameters Yes No
Is slightly faster Yes No
Can be used in expressions No Yes

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

One thought on “PHP echo and print statement

Leave a Reply