🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ امیرحسین شکری
سوال در مورد echo
لقمان آوند حل شده توسط لقمان آوند

سلام. در ابتدای ویدیو که دستور echo،
x++ رو چاپ کرد، چرا مقدار x عوض شد؟ آیا echo به جز چاپ، عملیات assign هم انجام میده؟

سلام.

++x$ و x$++ یک واحد به متغیر x اضافه میکنن یعنی x = x + ۱ میشه و ارتباطی با دستور echo نداره.

x$++ اصطلاحاً pre-increment هست. اگر بخوام خیلی ساده بگم منظور اینه که اول عمل پلاس پلاس انجام میشه و بعد بقیه ی دستورات اون Line از کد اجرا میشه.

++x$ هم post-increment هست. یعنی اول دستورات اون Line انجام میشه و بعد عمل پلاس پلاس.

 

چنتا مثال:

<?php
$i = 1;
echo $i++; // output: 1
echo '<br>';
echo $i; // output: 2

 

<?php
$i = 1;
$j = 1 + $i++ + 3;
echo $j; // output: 5

 

<?php
$i = 1;
$j = 1 + ++$i + 3;
echo $j; // output: 6

 

محسن موحد ۲۰ خرداد ۱۳۹۹، ۰۰:۱۲
echo $i++ به این معنی است که اول متغیر رو چاپ کنه بعد یک واحد به اون اضافه کنه در این صورت اگر برای بار دوم متغییر رو چاپ کنید یک واحد به اون اضافه شده 
echo ++$i به این معنی است که اول یک واحد به مقدار اضافه بشه سپس چاپ بشه 

 

 

ابراهیم محمدی ۲۰ خرداد ۱۳۹۹، ۱۱:۳۰

سلام جناب شکری

جواب ساده اش اینه که echo چاپ رو انجام میده و ++ مقدار x رو افزایش میده. افزایش و تغیر مقدار x توسط عملگر ++ انجام میشه نه echo 

بهترین پاسخ
لقمان آوند ۲۰ خرداد ۱۳۹۹، ۱۹:۴۲

سلام یه فایل پیوست براتون گذاشتم . عملیات افزایشی و کاهشی در دو نوع پیشوندی و پسوندی هستند . در عملیات پیشوندی اول به مقدار متغیر یک واحد اضافه یا کم میشه بعد در محاسبات میاد ولی در عملیات پسوندی اول مقدار متغیر در محاسبات میاد بعد در حافظه یک واحد به مقدار متغیر اضافه یا کم میشود و وقتی دستور چاپ میدید مقداری که در حافظه است را به شما می‌دهد

Mehrjoo ۱۱ فروردین ۱۴۰۰، ۱۸:۳۱