از دستورهای echo و print برای پرینت در PHP استفاده میکنیم. این دستورها بسیار ساده بوده و در هر جایی استفاده میشوند. منظور از پرینت، چاپ خروجی در PHP است. در این آموزش به طور کامل با دستورهای چاپ در PHP آشنا خواهیم شد.
زبان برنامه نویسی PHP یک زبان تحت وب است. زبانها تحت وب طبق ماهیتی که دارند با اطلاعات خروجی برای کاربر سر و کار زیادی دارند. همانطور که احتمالاً میدانید ظاهر برنامههای تحت وب توسط زبان HTML ایجاد میشود. اما اگر بخواهیم یک مقدار توسط پیاچپی را در صفحه نمایش دهیم باید چکار کنیم؟
در این مقاله دستورهای پرکاربردی که برای نوشتن متن در PHP استفاده میشود را با هم بررسی میکنیم. همه اطلاعاتی که قرار است توسط PHP چاپ شود، در نهایت تبدیل به رشته متنی شده و در بین کدهای HTML قرار میگیرد.
فهرست محتوای آموزش
چاپ خروجی در php
همانطور که در آموزش متغیر در PHP و انواع آن دیدیم، دادهها میتوانند شکلهای مختلفی داشته باشند. بنابراین از یک دستور کلی برای نمایش همه آنها نمیتوان استفاده کرد.
اما به طور کلی دو دستور پرکاربرد برای پرینت در PHP داریم:
- دستور echo
- دستور print
از این دو دستور بیشتر برای نمایش متغیرها در PHP استفاده میشود. البته واضح است که میتوانیم به جای متغیر، مقادیر ثابت را نیز استفاده کنیم.
دستورهای دیگری نیز وجود دارد که از هر کدام در قسمتهای خاص استفاده میکنیم. برای مثال از دستور print_r برای نمایش آرایه در PHP استفاده میشود.
در ادامه و پس از بررسی دو دستور echo و پرینت در PHP به چند تابع مهم و ترفندهای کار با آنها خواهیم پرداخت.
دستور echo در php
دستور echo بدون پرانتز یا با پرانتز تعریف میشود. در نتیجه این دستور را به صورت echo
و echo()
در اسکریپتهای مختلف میبینیم.
این دستور پر استفادهترین و البته سریعترین دستور چاپ خروجی در PHP است.
هر چیزی که به عنوان ورودی به تابع echo داده شود، در خروجی به صورت متن چاپ میشود.
اگر مقدار ورودی به صورت متغیر باشد و امکان تبدیل آن به رشته (string) وجود نداشته باشد، معمولاً با warning مواجه میشویم.
اگر با هشدارها و نمایش آنها آشنایی ندارید میتوانید به آموزش مدیریت گزارش خطا در PHP مراجعه کنید.
نمایش خروجی با echo در PHP
فرض کنید میخواهیم عبارت معروف Hello World را به عنوان اولین خروجی چاپ کنیم. برای این کار استفاده از یکی از خطهای زیر کافی است.
<?php
echo "Hello World!";
echo("Hello World!");
?>
به همین سادگی!
حالا کار را کمی پیچیدهتر میکنیم.
در رشته متنی میتوانیم هر چیزی را قرار دهیم؛ چه چیز بهتر و کاربردیتر از تگهای HTML ! در قطعه کد زیر یک متن را به صورت بولد شده با تگ strong در خروجی نمایش دادهایم.
<?php
echo "<strong>This is a Test from SabzDanesh.com.</strong>";
اگر این کد را اجرا کنیم، نتیجه آن شبیه تصویر زیر خواهد شد.
دستور echo در PHP میتواند به تعداد نامحدودی ورودی بگیرد. بنابراین اگر لازم بود چندین متن یا متغیر را پشت سر هم در خروجی چاپ کنیم، میتوانیم با علامت کاما (,
) این چند ورودی را از هم جدا کنیم.
<?php
echo "Omid", "Nazanin", "Soheil", "Homa";
خروجی این کد چیزی شبیه به زیر خواهد شد:
OmidNazaninSoheilHoma
البته یکی از ترفندهایی که در کار با رشته در PHP وجود دارد، استفاده از علامت نقطه (.
) برای اتصال دو رشته متنی به هم است. ما میتوانیم به جای چاپ چندین رشته، ابتدا یک string ساخته و آن را در خروجی چاپ کنیم.
echo "Omid" . "Nazanin" . "Soheil" . "Homa";
نمایش متغیر با echo
برای چاپ متغیر با echo در PHP نیز فقط کافی است متغیر را به عنوان ورودی این دستور تعریف کنیم.
فرض کنید سه متغیر $name
و $age
و $site
داریم و میخواهیم آنها را در خروجی PHP نمایش دهیم. به قطعه کد زیر دقت کنید:
<?php
$name = "Omid";
$age = 23;
$site = "SabzDanesh";
echo "<h2>Hello " . $name . "!</h2>";
echo "Your age is " . $age . " & Your site is: " . $site;
?>
تصویر زیر، نتیجه اجرای این کد است.
توجه کنید که اگر یک عملگر در ورودی <strong>پرینت در PHP</strong> وجود داشته باشد، ابتدا آن عملگر و عملوندها اجرا شده و نتیجه آنها به عنوان خروجی چاپ میشود. (عملگر در PHP)
فرض کنید دو متغیر x و y داریم. میخواهیم یک عبارت ریاضی برای ضرب این دو عدد بنویسیم.
کار اشتباه این است که میان این دو متغیر علامت ضرب (*
) قرار داده و با دستورهای پرینت PHP آن را چاپ کنیم!
پس کد زیر نتیجه اشتباهی به ما میدهد:
<?php
$x = 14;
$y = 9;
echo $x * $y;
این کد عدد 126
را به عنوان نتیجه ضرب دو عدد در خروجی چاپ میکند. کد زیر کد مورد نظر ماست:
<?php
$x = 14;
$y = 9;
echo $x . " * " . $y;
با اجرای این کد، خروجی آن 14 * 9
میشود.
دستور print در PHP
دستور پرینت در PHP نیز مشابه دستور echo استفاده میشود. از دستور print میتوان برای چاپ متن یا متغیر استفاده کرد.
برای استفاده از دستور پرینت میتوان از نحو (syntax) با پرانتز یا بدون پرانتز استفاده کرد.
نمایش خروجی با پرینت در PHP
برای آشنایی بیشتر با این دستور، به ارائه چند مثال مختلف بسنده میکنیم.
در قطعه کد زیر، متنهای مختلفی را با استفاده از دستور پرینت در PHP در خروجی چاپ میکنیم.
<?php
print "<b>Smile!</b>";
print "Peace begins with a smile.<br>";
print "I'm about to learn PHP!";
مشابه echo، میتوانیم از دستور print برای چاپ مقدار متغیرهای خود نیز استفاده کنیم. مشابه قبل، مفسر PHP سعی میکند مقدار متغیر را به string تبدیل کرده و سپس آن را در خروجی نمایش دهد.
<?php
$name = "Negar";
$site = "SabzDanesh.com";
print "<h5>Hello " . $name . "!</h5>";
print "Learn PHP at " . $site . "<br>";
تفاوت echo و print در PHP
این دو دستور تفاوت زیادی با هم ندارند. اصلیترین تفاوت print و echo در پی اچ پی این است که تابع print پس از اجرا مقدار 1 برمیگرداند.
وقتی از دستور echo برای چاپ متن در PHP استفاده میکنیم، مقدار مورد نظر ما در خروجی برنامه پرینت شده و برنامه به خط بعدی منتقل میشود. به اصطلاح این دستور هیچ مقدار بازگشتی (returned value) ندارد.
اما وقتی به دستور print میرسیم، اگر عملیات پرینت محتوا به درستی انجام شود، به عنوان خروجی این دستور، عدد 1 را خواهیم داشت.
از این ویژگی زمانی استفاده میشود که میخواهیم از دستور پرینت در ساختارهای شرط در PHP استفاده کنیم.
دو تفاوت دیگر میان دستورهای echo و print وجود دارد:
- دستور print فقط یک ورودی میگیرد و نمیتوان مانند echo چندین ورودی برای آن تعریف کرد.
- سرعت اجرای دستور echo بسیار سریعتر از پرینت است.
چاپ آرایه در PHP
برای چاپ آرایه PHP از دستور print_r()
استفاده میکنیم. این تابع در حالت کلی دو ورودی میگیرد. ورودی اول اجباری و ورودی دوم اختیاری است.
print_r( $VARIABLE, $ISSTORE )
- آرگومان اول متغیری است که مشخصکننده آرایه مورد نظر ماست.
- ورودی دوم به صورت متغیر بولین (boolean) است. به صورت پیشفرض مقدار آن FALSE است. اگر مقدار آن را برابر TRUE کنیم، به جای پرینت آرایه، رشتهای مشابه آن چه چاپ می شود به عنوان خروجی تابع بازگردانده میشود.
دستور print_r در PHP
اگر مقدار داده شده برای چاپ به تابع print_r نوعهای عادی (رشته یا عدد) باشد، مشابه echo و print مقدار آنها در خروجی چاپ میشود. اما اگر نوع آن از نوع آرایه در PHP باشد، تمام عناصر آرایه به صورت کلید-مقدار (Key-Value) چاپ خواهند شد.
به قطعه کد زیر توجه کنید:
$str = "Welcome to SabzDanesh";
$int = 514;
$arr = array('0' => "Welcome", '1' => "to", '2' => "SabzDanesh");
print_r($str);
echo "\n";
print_r($int);
echo "\n";
print_r($arr);
خروجی این کد به صورت زیر است:
Welcome to SabzDanesh
514
Array
(
[0] => Welcome
[1] => to
[2] => SabzDanesh
)
برای بررسی دقیق تابع print_r و توابع مشابه آن برای چاپ سایر فرمتها، به مستندات انگلیسی آن مراجعه کنید.
این آموزش برای همیشه رایگانه! میتونید با اشتراکگذاری لینک این صفحه از ما حمایت کنید یا با خرید یه فنجون نوشیدنی بهمون انرژی بدید!
میخوام یه نوشیدنی مهمونتون کنم
سلام . وقتی query میزینیم به دیتا بیس و چندین مقدار رو پیدا می کنیم چطورب همه رو چاپ کنیم . اگه چند راه داره لطفا همه رو بگید
سلام
بستگی به روشی داره که دادهها رو از دیتابیس میخونید.
آموزش کار با دیتابیس در php رو ببینید. اگه از روشهای شی گرا استفاده میکنید جلسات pdo یا oo mysqli در دوره رایگان رو ببینید.
سلام
تو دیتا بیس تعدادی ردیف داریم و یک idمثلا یک مقاله یاpostجدید جهت جمع کردن تعداد ردیف های دیتا بیس از چه سورسی استفاده میشه کرد.
مثلا ما یک مقاله ای داریم و تعداد مشاهده شده این مقاله را بخواهیم نمایش دهیم.ممنون
سلام
شما برای شمارش میتونید از دستورات sql مثل آموزش اتصال به دیتابیس در PHP استفاده کنید. دستوراتی مثل
count()
یاsum()
در sql رو بررسی کنید.سلام مجدد
اقا این سورس تاریخ شمسی که تو نظرات دارین به چه صورته من فراخوانی مب کنم تاریخ میلادی هست به چه صورت تبدیل به تاریخ شمسی میشه.ممنون
سلام
بخش آموزشی سایت روی وردپرس هست و از افزونههای شمسی وردپرس استفاده میکنیم. اگر با php خام کار میکنید کتابخونه jdf برای کار با زمان شمسی خوبه.
سلام
یک فرم داریم اطلاعات به دیتا بیس ارسال میشه و فراخوانی میشه جهت ارسال آی پی فرد به دیتابیس چه کدی باید بنویسیم.ممنون
سلام
با سوپرگلوبال
$_SERVER['REMOTE_ADDR']
میتونید ip کاربر رو داشته باشید.