آشنایی با توابع echo و print در php
در php برای چاپ کردن مقادیر در خروجی، دو تابع echo و print تعریف شده است.
این دو تابع تقریبا شبیه هم عمل می کنند ولی تفاوت خیلی کمی نیز با هم دارند.
هر دوی این توابع، جزو توابع language construct هستند و می توانند با پرانتز یا بدون پرانتز استفاده شوند.
تابع echo استفاده بیشتری در برنامه ها دارد و میان برنامه نویسان معمول است که به جای print از آن استفاده می شود.
echo 'Hello world'; //output: Hello world echo 'Hello', ' world'; //output: Hello world echo 'Hello' . 'world'; //output: Hello world echo ('Hello world'); //output: Hello world echo ('Hello' . ' world'); //output: Hello world echo ('Hello'), ('world'); //output: Hello world
در کد بالا مشاهده می کنید که به روش های مختلف توانستیم جمله Hello world را با استفاده از تابع echo چاپ کنیم. (گرچه ممکن است روش های دیگری نیز وجود داشته باشد)
نکات مهمی که در مورد این تابع وجود دارد این است که:
- ورودی تابع echo می تواند درون پرانتز یا بدون آن باشد. (خط اول و چهارم)
- با استفاده از کاما، می توانیم دو و یا بیشتر مقدار به این تابع پاس بدهیم. (خط دوم)
- درون پرانتز نمی توانیم از بیش از یک مقدار که با کاما از هم جدا شده اند استفاده کنیم ولی می توانیم تک تک مقادیر را در پرانتزی جداگانه قرار داده و با کاما از هم جدا کنیم. (خط ششم)
- می توانیم از نقطه برای مرج کردن دو مقدار درون یا بیرون پرانتز استفاده کنیم. (خط سوم و پنجم)
حالت کوتاه شده تابع echo برای استفاده های خاص
خیلی از اوقات ما با استفاده از تابع echo مقداری را در میان کدهای html چاپ می کنیم. مثلا:
<?php echo 'Hello world'; ?>
php برای ما امکانی فراهم کرده است که می توانیم در این مورد، کلمه php ابتدای سینتکس را با علامت = عوض کنیم و تابع echo را دیگر ننویسیم:
<?= 'Hello world'; ?>
نکته مهم این هست که اگر بخواهیم از این ویژگی در ورژن های قبل از 5.4 استفاده کنیم، خصوصیت short_open_tag باید در سرور فعال باشد.
تابع print برای چاپ کردن مقدار در php
همانطور که گفتیم، تابع print نیز برای چاپ کردن مقادیر در خروجی استفاده می شود.
print 'Hello world'; //output: Hello world print 'Hello' . 'world'; //output: Hello world print ('Hello world'); //output: Hello world print ('Hello' . ' world'); //output: Hello world
در کدهای بالا مشاهده می کنیم که با روش های مختلف توانستیم جمله Hello world را در خروجی چاپ کنیم.
نکات مهمی که در استفاده از این تابع وجود دارد:
- ورودی این تابع می تواند با یا بدون پرانتز وارد شود. (خط اول و سوم)
- تابع print برخلاف تابع echo، فقط یک مقدار ورودی می گیرد. (برای بیشتر از یک مقدار باید با نقطه آن ها را به هم متصل کنیم) (خط دوم و چهارم)
تابع print به توابع واقعی php نزدیک تر است. به این دلیل که این تابع بعد از اجرا شدن، مقدار 1 را برمی گرداند. همین ویژگی باعث می شود که از این تابع بتوانیم در expression ها استفاده کنیم و عملا تابع را درون یک متغیر بریزیم.
<?php $x = print('Hello World'); ?>
استفاده از ternary operator با توابع print و echo
استفاده از echo برای نوشتن در دستورات بخش اول و دوم مجاز نمی باشد. (چون این تابع مانند یک تابع واقعی php نیست) اما می توانیم از آن در ابتدای ساختار استفاده کنیم:
(1==1) ? echo 'Hello world': echo 'Goodby'; //wrong syntax echo (1==1) 'Hello World' : 'Goodby'; //correct syntax
در حالی که از تابع print می توانیم در بخش های اول و دوم نیز استفاده نماییم:
(1==1) ? print 'Hello world': print 'Goodby'; //correct syntax print (1==1) 'Hello World' : 'Goodby'; //correct syntax
سرعت عملکرد دو تابع echo و print
یکی از مسائلی که در استفاده از این دو تابع پیش می آید این است که استفاده از کدام یک درست تر و بهینه تر می باشد.
مطابق benchmark های معتبر، تفاوت خاصی در پرفومنس ایجاد نخواهد شد. پس استفاده از هر کدام از این توابع مانعی ندارد و کدهای نوشته شده با هر کدام از اینها نیاز به ری فکتور ندارند.
گرچه استفاده از دستور echo معمول تر هست و چون هیچ مقداری را بر نمی گرداند، اندکی سریع تر از تابع print است (در حد میکروثانیه و قابل چشم پوشی). و همچنین echo هیچ مقداری را بر نمی گرداند. به خاطر همین برنامه نویسان در بیشتر موارد استفاده از echo را ترجیح می دهند.
اجرا کردن php توسط command line
برای اجرا کردن اسکریپت php و مشاهده نتایج، لزوما به مرورگر نیاز نداریم.
یک روش ساده برای اجرای اسکریپت استفاده از command lind می باشد که معمولا تمام ویرایشگرهای حرفه ای نظیر vscode و phpstorm درون خودشان نیز دارند.
برای اجرای فایل php در command line کافیست به مسیر فایل رفته و دستور php yourfile.php را اجرا نمایید. yourfile.php فایل php شما می باشد.
آموزش بعدی >> آشنایی با متغیرها در php