تفاوت echo و print در PHP

این جزو یکی از مهارت های یک برنامه نویس 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 استفاده می کنند.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.