سلام. در ابتدای ویدیو که دستور echo،
x++ رو چاپ کرد، چرا مقدار x عوض شد؟ آیا echo به جز چاپ، عملیات assign هم انجام میده؟
سلام جناب شکری
جواب ساده اش اینه که echo چاپ رو انجام میده و ++ مقدار x رو افزایش میده. افزایش و تغیر مقدار x توسط عملگر ++ انجام میشه نه echo
سلام.
++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 به این معنی است که اول یک واحد به مقدار اضافه بشه سپس چاپ بشه
سلام یه فایل پیوست براتون گذاشتم . عملیات افزایشی و کاهشی در دو نوع پیشوندی و پسوندی هستند . در عملیات پیشوندی اول به مقدار متغیر یک واحد اضافه یا کم میشه بعد در محاسبات میاد ولی در عملیات پسوندی اول مقدار متغیر در محاسبات میاد بعد در حافظه یک واحد به مقدار متغیر اضافه یا کم میشود و وقتی دستور چاپ میدید مقداری که در حافظه است را به شما می دهد