🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ آلما ادب
سوال در مورد 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 

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

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

نارین خرم‌آبادی ۱۱ فروردین ۱۴۰۰، ۱۸:۳۱