TGViewer
| کانال توسعه‌دهندگان PHP | | کانال توسعه‌دهندگان PHP | @developixphp · 1.68K subscribers
Post #43 728
در PHP، رفرنس‌ها (References) امکان اشاره به محتوای متغیرها را بدون کپی‌برداری از آن‌ها فراهم می‌کنند. این ویژگی به خصوص در زمانی مفید است که می‌خواهیم تغییراتی را بر روی متغیرها در یک تابع یا بین بخش‌های مختلف برنامه اعمال کنیم بدون اینکه نیاز به بازگرداندن مقادیر باشد.

برای تعریف یک رفرنس، می‌توانیم از نشانه & استفاده کنیم. به مثال زیر توجه کنید:

$a = 10;
$b = &$a;

$b = 20;
echo $a; // Output: 20


در این مثال، متغیر $b به $a رفرنس دارد و هر تغییری در $b منجر به تغییر در $a نیز خواهد شد.

رفرنس‌ها را می‌توان در توابع برای تغییر متغیرهایی که به تابع پاس داده می‌شوند استفاده کرد. نمونه زیر این مورد را نشان می‌دهد:
function add_five(&$value) {
$value += 5;
}

$number = 10;
add_five($number);
echo $number; // Output: 15


در این مثال، تابع add_five متغیر $value را به عنوان رفرنس دریافت می‌کند و هر تغییری که در تابع بر روی این متغیر اعمال شود، در متغیر اصلی نیز منعکس می‌شود.

رفرنس‌ها همچنین می‌توانند در کار با آرایه‌ها بسیار مفید باشند، به خصوص وقتی که می‌خواهیم تغییراتی را در هر عنصر آرایه اعمال کنیم:
$numbers = [1, 2, 3, 4, 5];
foreach ($numbers as &$number) {
$number *= 2;
}

print_r($numbers); // Output: [2, 4, 6, 8, 10]


این مثال نشان می‌دهد که چگونه می‌توان با استفاده از رفرنس‌ها در یک حلقه foreach، تمام عناصر یک آرایه را تغییر داد.

بعضی از توابع PHP که مقادیر را کپی می‌کنند (مانند array_map)، با رفرنس‌ها کار نمی‌کنند. در این موارد، تغییراتی که به عناصر آرایه اعمال می‌شوند، بر مقادیر اصلی تأثیری نمی‌گذارند.

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

رفرنس‌ها می‌توانند به بهینه‌سازی عملکرد برنامه کمک کنند، به ویژه زمانی که با داده‌های بزرگ کار می‌کنید. به جای اینکه داده‌ها را کپی کنید (که ممکن است فرایندی حافظه‌بر و زمان‌بر باشد)، می‌توانید از رفرنس‌ها برای اشاره مستقیم به داده‌های اصلی استفاده کنید. این موضوع می‌تواند در مصرف حافظه صرفه‌جویی کرده و سرعت برنامه را افزایش دهد.

استفاده از رفرنس‌ها در PHP نیازمند دقت است، زیرا تغییرات اعمال شده بر روی رفرنس‌ها مستقیماً بر متغیرهای اصلی تاثیر می‌گذارند، و این می‌تواند در صورت عدم توجه به ایجاد باگ منجر شود. به همین دلیل، بسیار مهم است که هنگام استفاده از رفرنس‌ها، کد را به دقت بررسی کنید تا از اعمال تغییرات ناخواسته جلوگیری شود.

👤 AmirHossein

💎 Channel: @DevelopixPHP
  • 👍 8
  • ❤ 4
More from @developixphp
  1. Sep 26, 2026این کد موقع اجرا چه خروجی‌ای می‌ده و مشکلش کجاست؟ 🔖 #PHP #پی_اچ_پی 👤 Developix 💎 Channe…
  2. Sep 25, 2026🔥 پکیج: قراردادهای ترجمه سیمفونی اگر کد PHP را برای چندزبانگی می‌نویسید، بهتر است منطق بر…
  3. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
  4. Sep 11, 2026ارسال ایمیل تأیید ثبت‌نام، بازیابی رمز عبور یا نوتیفیکیشن سفارش، تقریباً توی هر پروژه‌ PHP…
  5. Sep 10, 2026برنامه نویسی سوکت در PHP بخش اول عبارت دیگر در ارتباط های غیر سوکت برای ارسال یک پالس از س…
  6. Aug 31, 2026🔥 پکیج: استاندارد PSR-11 برای Container استاندارد PSR-11 فقط یه interface مشترک برای Cont…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →