در PHP دو روش اصلی برای چاپ وجود دارد: echo و print
تقریباً در هر مثالی از این بیاموز از echo (و print) استفاده شده است. بنابراین در این مطلب سعی شده است تا در این باره مقداری بیشتر توضیح داده شود.
دستور echo و print در PHP
تفاوت های echo و print:
- echo: یک یا بیشتر از یک آرگومان را می گیرد و مقداری را برنمی گرداند. برای اتصال دو رشته هم می توان از "." و هم از "," استفاده کرد.
- print: تنها یک آرگومان را می گیرد و همیشه مقدار 1 را برمی گرداند. برای اتصال دو رشته فقط می توان از "." استفاده کرد.
شباهت های echo و print:
- هر دو تابع نیستند.
- جزئی از ساختار زبانی هستند و می توان از آنها با یا بدون پرانتز استفاده نمود.
نکته: echo سرعت بیشتری نسبت به print دارد.
دستور echo در PHP
نمایش رشته ها
در مثال زیر، نحوه نمایش رشته های مختلف با استفاده از دستور echo نشان داده شده است: (همچنین توجه داشته باشید که رشته چاپ شده می تواند شامل تگ های HTML باشد)
مثال (تفاوت دستور echo و print)
echo "<h2>PHP is fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
?>
خروجی کد بالا:
PHP is fun! Hello world!
I'm about to learn PHP!
This string was made with multiple parameters.
نمایش متغیرها
در مثال زیر، نحوه ی چاپ رشته ها و متغیر ها با دستور echo نشان داده شده است:
مثال (تفاوت دستور echo و print)
$txt1="Learn PHP";
$txt2="Beyamooz.com";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "Study PHP at $txt2";
echo "My car is a {$cars[0]}";
?>
خروجی کد بالا:
Study PHP at Beyamooz.com
My car is a Volvo
توجه: اگر متغییری درون علامت " قرار بگیرد مقدار متغییر به جای آن قرار می گیرد. اما اگر درون علامت ' قرار بگیرد مقدار متغییر جایگزین نمی شود.
دستور print در PHP
نمایش رشته ها
در مثال زیر، نحوه نمایش رشته های مختلف با استفاده از دستور print نشان داده شده است: (همچنین توجه داشته باشید که رشته چاپ شده می تواند شامل تگ های HTML باشد)
مثال (تفاوت دستور echo و print)
print "<h2>PHP is fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>
خروجی کد بالا:
PHP is fun! Hello world!
I'm about to learn PHP!
نمایش متغیرها
در مثال زیر، نحوه ی چاپ رشته ها و متغیر ها با دستور print نشان داده شده است:
مثال (تفاوت دستور echo و print)
$txt1="Learn PHP";
$txt2="Beyamooz.com";
$cars=array("Volvo","BMW","Toyota");
print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "My car is a {$cars[0]}";
?>
خروجی کد بالا:
Study PHP at Beyamooz.com
My car is a Volvo
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
دستورات GET_$ در PHP:
beyamooz.com/php/80-basic/54-%D9%85%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-get_$-%D8%AF%D8%B1-php
میتونید یه مثال بزنید که دستور print قادر به انجامش نباشه؟
print "ehsan", "ali";
اگه print فقط یه رشته میگیره چرا گفتین بین رشته ها از نقطه استفاده میشه؟
برخی از دستورات فقط کار موردنظر رو انجام میدن، ولی برخی دیگه علاوه بر انجام کار خاصی، یه مقداری رو پس میدن.
دستور echo برای چاپ رشته در خروجی به کار میره.
دستور print هم برای چاپ رشته در خروجی به کار میره، و بعد از انجام این کار مقدار true رو هم بر میگردونه.
خط بعدی میاد پایین؟!
ما که از تگ بریک استفاده نکردیم..
کد زیر رو ببینید
خروجی:
hello world / hello ehsan
hello ehsan
لطفاً به مثال زیر توجه فرمایید:<?php
$a='beyamooz';
$b='.com';
echo $a,$b;
echo '<br />';
//print $a,$b;//در اين خط با خطا مواجه خواهيم شد
print $a.$b;//اين خط بدون خطا اجرا خواهد شد
?>خروجی:beyamooz.com
beyamooz.comدر مثال بالا، در خط 2 و 3 دو متغیر با نام های a& و b& تعریف شده و مقداردهی شده اند. توجه داشته باشید در خط 4 با استفاده از دستور echo دو متغییر را چاپ کرده ایم و در این دستور بین دو متغییر از علامت ویرگول (,) استفاده شده است.
اما در خط 6 سعی کرده ایم دو متغییر را با استفاده از دستور print چاپ کنیم که با خطا مواجه شده ایم. باز توجه کنید که بین دو متغییر از علامت ویرگول (,) استفاده شده است.
در خط 7 نیز با استفاده از عملگر نقطه (.) و دستور print دو متغییر مذکور را به هم متصل و سپس چاپ کرده ایم.
در خط 6 احتمالاً متوجه اشتباهی که مرتکب شده اید خواهید شد. در واقع در این خط ما 1 آرگومان داریم که از اتصال دو متغییر به وجود آمده است.
در خط 6 احتمالاً متوجه اشتباهی که مرتکب شده اید خواهید شد. در واقع در این خط ما 1 آرگومان داریم که از اتصال دو متغییر به وجود آمده است.
================================================
سلام، این دوتا خط 6 آخر رو به خط 7 اصلاح کنید. با تشکر از راهنماییهای خوبتان
1 آرگومان داریم که از اتصال دو متغییر به وجود آمده است.
متشکرم
printf تابعی است که حداقل یک پارامتر رشته ای و یک پارامتر format style می گیرد و چیزی که برمیگرداند طول رشته چاپ شده است. //int printf($string,$s);
$s= "beyamooz";
$i= printf("Hello %s how are you?",$s);
echo $i;خروجی: Hello beyamooz how are you?
27