برنامه نویسی

مرجع PHP

در این قطعه کد، یک متغیر $a با مقدار "1" ایجاد می شود، سپس متغیر $b به عنوان یک مرجع به متغیر $a اشاره می کند. سپس مقدار جدیدی به $b اضافه می شود و در نهایت $b برابر با "21" تبدیل می شود. سوال کننده می خواهد بداند آیا این روش که استفاده کرده است درست است یا خیر.

این روش نادرست است، زیرا با استفاده از عملگر &، متغیر $b به مرجعی از $a تبدیل شده و هر تغییر در $b، تغییری در $a نیز ایجاد می کند. در نتیجه، وقتی $b به عنوان مرجع به $a اشاره دارد و مقدار جدید به آن اضافه می شود، مقدار $a نیز تغییر می کند و مقدار جدید برابر با "21" نمی شود.

برای حل این مشکل، بهتر است از اشاره گرهای مرجع استفاده نشود و از کپی ارزش صورت گیرد. به عبارت دیگر، بهتر است مقدار $a را به $b کپی کنیم و سپس به آن مقدار جدید را اضافه کنیم تا هر دو متغیر به طور جداگانه تغییر کنند و دیگر به یکدیگر وابسته نباشند.

در نتیجه، روش درست برای انجام این عملیات این است که ابتدا مقدار $a را در $b کپی کنیم و سپس مقدار جدیدی به $b اضافه کنیم، به این صورت:

$a = "1";
$b = $a;
$b = "2$b";

با انجام این تغییرات، متغیر $a با مقدار "1" و متغیر $b با مقدار "21" خواهند بود و دیگر هیچ ارتباطی بین آنها وجود نخواهد داشت.

$a="1";
$b = &$a;
$b = "2$b";

لطفاً کسی می تواند به من کمک کند، من نمی توانم بفهمم که وقتی با متغیرهایی مانند آن می آید چه کاری و اپراتور انجام می دهد، راه حل من $a = 1، $b = 21 است، آیا درست است؟

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا