این جزو یکی از مهارت های یک برنامه نویس PHP است که این زبان را آنالیز کند. در این مقاله می خواهیم به تفاوت echo و print بپردازیم.
تا بتوانیم بهترین مسیر را برای رسیدن هدف مورد نظر طی کنیم.
همانطور که می دانید از لحاظ عملکرد چاپ ( print ) در صفحه توابع echo و print تفاوت محسوسی ندارند.
echo ("Iran123 Acadmy"); print("Iran123 Acadmy"); echo "Iran123 Acadmy"; print "Iran123 Acadmy";
ولی چند تفاوت بسیار ریز و ظریف دارند ، زیرا PHP هرگز دو تابع (function) برای یک عمل مشابه معرفی نمی کند.
توجه کنید که استفاده از پرانتز ( ) اختیاری (Optional) است.
پارامتر دهی به تابع echo
اما زمانی که echo بدون پرانتز استفاده می شود ، می تواند هر تعداد متغیر یا رشته را چاپ کند.
echo "security","php","iran123";
جالب است بدانید این کار سریع تر از چسباندن رشته ها یا Concat عمل می کند.
البته این عمل را با String Concatenation که در PHP با . رشته ها را به یکدیگر می چسبانیم اشتباه نگیرید!
باید توجه کنید که کد های زیر با خطا مواجه خواهند شد :
echo ("security","php","iran123"); print "security","php","iran123";
مقدار بازگشتی توابع echo و print
معمولا در هنگام چاپ رشته به مقدار بازگشتی توجهی نمی کنیم.
تابع echo هیچ مقداری را برگشت نمی دهد و اصطلاحا از از نوع توابع void است.
به نحوی که اجرای کد زیر با خطا مواجه می شود :
$res = echo "Iran123 Academy";
اما برعکس ، تابع print می تواند مقدار برگشتی داشته باشد که مقدار ۱ یا TRUE را برگشت می دهد :
$res = print "Iran123 Academy";
print رفتاری متفاوت تری دارد
تابع print شباهت بیشتری به یک function دارد.
به عنوان مثال تابع print می تواند در شرط زیر کار کند اما echo قادر نیست :
$name = "god"; ($name != "") ? print "OK" : print "NOT";
در صورتی که برای استفاده از تابع echo باید طور دیگری رفتار کرد :
$name = "god"; echo ($name != "") ? "OK" : "NOT";
تفاوت عملکرد echo و print
همچنین تابع echo سرعت بیشتری نسبت به تابع print دارد.
تفاوت زیادی بین echo و print نیست به غیر از یک سری تفاوت های ریز و جزئی .
امروزه نیز دیده می شود اکثر برنامه نویسان از echo استفاده می کنند.