PDA

View Full Version : تفاوت return و echo ?



mamadco
جمعه 07 فروردین 1394, 01:54 صبح
دوستان تفاوت return و echo چیه دقیقا ؟ چون من تفاوت عمده ای بین این دو دستور پیدا نکردم ، دو تاشون خروجی میدن ولی تفاوتی من پیدا نکردم توشون که خیلی مهم باشه
چه وقت از return و چه موقع از echo استفاده میشه ؟
:قلب:

alinwp
جمعه 07 فروردین 1394, 05:45 صبح
این کد رو اجرا کنید میبینید:


<?php
echo "echo";
return "return";
echo "test";?>

خوب return در حقیقت خروجی میده ولی در توابع اگر در کد خام یا خارج از یک تابع استفاده بشه ادامه روند اجرای کد رو متوقف میکنه در اجرای کد بالا ما دیگه روی صفحه test رو نبینیم و فقط echo رو میبینیم
در حقیقت return برای خروجی بین توابع برنامه است و echo خروجی رو به کاربر نشون میده
با return میشه یک فانکشن رو نوع دهی کنیم یعنی یک فانکشن(تابع) یک استرینگ(متن) باشه و روش کارهایی رو انجام بدیم

mamadco
جمعه 07 فروردین 1394, 16:05 عصر
ممنون یه چیزایی فهمیدم ولی نه خیلی :D

aliphp1
جمعه 07 فروردین 1394, 19:01 عصر
return برای برگرداندن یک خروجی از داخل یک تابع به یک متغییر هست و چیزی چاپ نمی کنه فقط یک مقداری رو از تابع میندازه بیرون و اونم حتما باید داخل متغییر بریزید
ولی echo مقدار رو براتون روی صفحه چاپ میکنه
برعکس شما که گفتید تفاوت زیادی ندیدید من شباهت زیادی ندیدم

MMSHFE
جمعه 07 فروردین 1394, 19:09 عصر
echo فقط یک عبارت که جلوش مینویسین رو توی سورس صفحه ای که قراره تحویل کلاینت داده بشه، مینویسه. اما return برای خروج از توابع کاربرد داره و میتونید با کمک اون، مقداری (عبارتی) رو هم مشخص کنید که موقع خروج از تابع، بعنوان نتیجه اجرای تابع به بخشی از برنامه که تابع رو صدا زده، تحویل داده بشه. برای مثال، هروقت بخواین یکسری تغییرات روی خروجی تابع انجام بدین یا خروجی اون رو توی یک عبارت دیگه مورد استفاده قرار بدین، میتونید از return استفاده کنید. چند تا مثال ساده از کاربردهای مختلفش براتون میگذارم:


function divide($a, $b) {
if($b == 0) {
return;
}
return $a / $b;
}
if($c = divide(10, 5)) {
echo $c;
}
else {
echo 'Error';
}
// output: 2

if($c = divide(5, 0)) {
echo $c;
}
else {
echo 'Error';
}
// output: Error

!Hidden Hacker
جمعه 07 فروردین 1394, 19:50 عصر
با سلام
در واقع ما برای خروجی PHP به HTML باید از echo استفاده کنیم



function myfunction() {
// script content here, and sample out maybe like this :

return $result; ---> sample 1
echo $result; ---> sample 2

}

برای نشان دادن result$ در HTML برای هر نمونه:
در نونه 1 ما باید از
<?php echo $result ?> استفاده کنیم
ولی برای نمونه 2 ما باید از
<?php $result ?> استفاده کنیم

(برای نمونه 2 ما نیازی نداریم که echo کنیمش چون ما قبلاً echo رو در داخل تابع انجام دادیم)

امیدوارم جوابم در عین کوتاهی واستون رسا باشه
موفق باشید

C-man 15
جمعه 07 فروردین 1394, 21:27 عصر
echo میاد یه مقداری رو چاپ می کنه ولی return میاد یه مقدار رو بر می گردونه مثلا به متغیر