سبد (0)

تبلیغات

تفاوت دستور echo و print

در PHP دو روش اصلی برای چاپ وجود دارد: echo و print

تقریباً در هر مثالی از این بیاموز از echo (و print) استفاده شده است. بنابراین در این مطلب سعی شده است تا در این باره مقداری بیشتر توضیح داده شود.


دستور echo و print در PHP

Wiki

تفاوت های echo و print:

  • echo: یک یا بیشتر از یک آرگومان را می گیرد و مقداری را برنمی گرداند. برای اتصال دو رشته هم می توان از "." و هم از "," استفاده کرد.
  • print: تنها یک آرگومان را می گیرد و همیشه مقدار 1 را برمی گرداند. برای اتصال دو رشته فقط می توان از "." استفاده کرد.

شباهت های echo و print:

  • هر دو تابع نیستند.
  • جزئی از ساختار زبانی هستند و می توان از آنها با یا بدون پرانتز استفاده نمود.

نکته: echo سرعت بیشتری نسبت به print دارد.


دستور echo در PHP

Wiki

نمایش رشته ها

در مثال زیر، نحوه نمایش رشته های مختلف با استفاده از دستور echo نشان داده شده است: (همچنین توجه داشته باشید که رشته چاپ شده می تواند شامل تگ های HTML باشد)

مثال (تفاوت دستور echo و print)

<?php
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)

<?php
$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]}";
?>

خروجی کد بالا:

Learn PHP
Study PHP at Beyamooz.com
My car is a Volvo

توجه: اگر متغییری درون علامت " قرار بگیرد مقدار متغییر به جای آن قرار می گیرد. اما اگر درون علامت ' قرار بگیرد مقدار متغییر جایگزین نمی شود.


دستور print در PHP

Wiki

نمایش رشته ها

در مثال زیر، نحوه نمایش رشته های مختلف با استفاده از دستور print نشان داده شده است: (همچنین توجه داشته باشید که رشته چاپ شده می تواند شامل تگ های HTML باشد)

مثال (تفاوت دستور echo و print)

<?php
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)

<?php
$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]}";
?>

خروجی کد بالا:

Learn PHP
Study PHP at Beyamooz.com
My car is a Volvo

برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

دیدگاه‌ها  

+2 # ام ار 1396-01-06 13:34
ایا در php تابعی برای گرفتن ورودی از کاربر وجود ندارد؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیر پهلوان صادق 1396-01-06 15:43
بله جلوتر که برید با دستورات GET_$ و POST_$ برای دریافت ورودی از کاربر آشنا خواهید شد.
دستورات GET_$ در PHP:
http://beyamooz.com/php/80-basic/54-%D9%85%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-get_$-%D8%AF%D8%B1-php
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # مهدی ح 1395-01-12 13:41
منظوتون رو از اینکه دستور echo چند آرگومان می تونه بگیره ولی print فقط یه ارگومان میگیره نفهمیدم
میتونید یه مثال بزنید که دستور print قادر به انجامش نباشه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # احسان عباسی 1395-01-13 09:29
بعنوان مثال دستور print قادر به انجام کد زیر نیست:
print "ehsan", "ali";
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # آرمان 1395-12-01 11:00
ولی اینجا دلیل چاپ نشدن اینه که دستور print علامت ویرگول "," رو نمی پذیره.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # m1378 1395-06-27 18:23
سلام خسته نباشید.
اگه print فقط یه رشته میگیره چرا گفتین بین رشته ها از نقطه استفاده میشه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1395-12-03 08:50
سلام، در مطلب آموزشی بالا، گفته شده که دستور Print تنها یک آرگومان می گیره. توجه داشته باشید که "آرگومان" و "رشته" با هم فرق داره...!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرابی 1394-09-28 22:35
ببخشید یه سوال این که echo مقداری را بر نمیگردونه ولی print مقدار 1 برمیگردونه یعنی چی؟ جوابشو خیلی فوری و فوتی نیاز دارم ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # مهرداد صلاحی 1394-09-29 21:24
با سلام.
برخی از دستورات فقط کار موردنظر رو انجام می‌دن، ولی برخی دیگه علاوه بر انجام کار خاصی، یه مقداری رو پس می‌دن.
دستور echo برای چاپ رشته در خروجی به کار می‌ره.
دستور print هم برای چاپ رشته در خروجی به کار می‌ره، و بعد از انجام این کار مقدار true رو هم بر می‌گردونه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # azadeh ahmadi 1394-08-04 15:12
چرا توی مثال آخر بعد از print "Study PHP at $txt2";
خط بعدی میاد پایین؟!
ما که از تگ بریک استفاده نکردیم..
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-08-04 16:28
در خط بعدی نمیاد. این به خاطر نمایش برای فهم بیشتر هست و الّا اگر کدها رو تست کنید. متون پشت سر هم هست، مگر اینکه از تگ بریک یا پاراگراف و یا ... برای جداسازی استفاده کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # amirkain 1394-05-10 14:16
تفاوت دستور Print و echo رو خوب متوجه شدم. ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهدی ربانی 1394-02-21 06:32
عالی بود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # ehsan01 1394-01-16 23:17
یعنی چی که print فقط 1 آرگومان می گیرد ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # احسان عباسی 1394-01-17 06:26
دستور echo می تواند چند متغیر را همزمان با یکدیگر چاپ کند. اما دستور print تنها یک متغیر را در آن واحد میتواند چاپ کند و در خروجی نمایش دهد. منظور از 1 آرگومان این است که در آن واحد می تواند یک متغیر یا یک رشته و ... را چاپ کند.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # ehsan01 1394-01-17 16:57
اما من امتحان کردم شد
کد زیر رو ببینید


خروجی:
hello world / hello ehsan
hello ehsan
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # akbar رحیمی 1394-01-18 13:59
متأسفانه چون در کدتان از علامت > و < استفاده کرده اید، کدتان کامل ارسال نشده است ...!
لطفاً به مثال زیر توجه فرمایید:<?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 آرگومان داریم که از اتصال دو متغییر به وجود آمده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # asa 1394-12-14 13:01
در خط 6 نیز با استفاده از عملگر نقطه (.) و دستور print دو متغییر مذکور را به هم متصل و سپس چاپ کرده ایم.
در خط 6 احتمالاً متوجه اشتباهی که مرتکب شده اید خواهید شد. در واقع در این خط ما 1 آرگومان داریم که از اتصال دو متغییر به وجود آمده است.
================================================
سلام، این دوتا خط 6 آخر رو به خط 7 اصلاح کنید. با تشکر از راهنماییهای خوبتان
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # ehsan01 1394-01-18 16:11
آها، متوجه شدم
1 آرگومان داریم که از اتصال دو متغییر به وجود آمده است.
متشکرم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # میلاد نظری 1393-11-29 22:51
سلام من تو یه کتاب خوندم که print یه تابع هست و echo ساختار خود زبان Php ایا اشتباه نوشته بوده اون کتاب؟ در ضمن با یه مثال ثابت کرد حرفش رو...
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1393-11-30 08:30
سلام، هر دو دستور echo و print جزء ساختار زبان PHP هستند. شاید منظور شما printf بوده ...!
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
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی PHP

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی