آموزش پرینت خروجی در PHP

از دستورهای 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>";

اگر این کد را اجرا کنیم، نتیجه آن شبیه تصویر زیر خواهد شد.

نمایش HTML در کدهای PHP
نتیجه چاپ تگ HTML با دستور echo در PHP

دستور 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;
?>

تصویر زیر، نتیجه اجرای این کد است.

پرینت متغیر در PHP
نتیجه کد پرینت متغیر در PHP با دستور echo

توجه کنید که اگر یک عملگر در ورودی پرینت در PHP وجود داشته باشد، ابتدا آن عملگر و عملوندها اجرا شده و نتیجه آن‌ها به عنوان خروجی چاپ می‌شود.

فرض کنید دو متغیر x و y داریم. می‌خواهیم یک عبارت ریاضی برای ضرب این دو عدد بنویسیم.

کار اشتباه این است که میان این دو متغیر علامت ضرب (*) قرار داده و با دستورهای پرینت PHP آن را چاپ کنیم!

پس کد زیر نتیجه اشتباهی به ما می‌دهد:

<?php
    $x = 14;
    $y = 9;

    echo $x * $y;

این کد عدد 126 را به عنوان نتیجه ضرب دو عدد در خروجی چاپ می‌کند. کد زیر کد مورد نظر ماست:

<?php
    $x = 14;
    $y = 9;

    echo $x . " * " . $y;

با اجرای این کد، خروجی آن 14 * 9 می‌شود.

آموزش ساخت فرم ورود با PHP

آموزش ساخت فرم ورود با PHP

دستور 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

چاپ آرایه در 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 و توابع مشابه آن برای چاپ سایر فرمت‌ها، به مستندات انگلیسی آن مراجعه کنید.