php

جلسه ۳۴: توابع قسمت ۵ در php

دامنه متغیرها

در این بخش به دامنه متغیر ها از جمله متغیر های محلی و سراسری می پردازیم. سرفصل مباحث این جلسه به شرح زیر می باشد:
  • معرفی
  • انواع متغیرها
    • متغیرهای محلی
    • متغیرخای سراسری
  • استفاده از متغیرهای متغیر برای فراخوانی توابع

معرفی

دامنه متغیرها به نمایان بودن متغیر اشاره دارد یعنی کدام بخش از برنامه می تواند به آن دسترسی پیدا کن.

انواع متغیرها

باتوجه به دامنه متعیرها، دو نوع متغیر داریم:
  • متغیرهای محلی
  • متغیرهای سراسری

متغیرهای محلی

متغیرهایی که در دامنه توابع محلی تعریف می شوند در یک بخش محلی هستند و به آنها متغیرهای محلی می گویند. نمی توان از بیرون تابعی که در آن تعریف شده اند به این متغیرها دسترسی داشت.
<?php
function foo()
{
    $number = 10;
    echo $number;
}
foo(); //Will print 10 because text defined inside function is a local variable
?>
کد بالا مقدار ۱۰ را چاپ می کند چرا که متن تعریف شده در تابع یک متغیر محلی را نشان می دهد که خارج متن کد تابع قابل دسترسی نیست.

متغیرهای سراسری

به متغیرهایی که خارج از تابع تعریف می شوند، متغیرهای سراسری می گویند. یک متغیر سراسری می تواند در هر بخشی از تابع فراخوانی شوند. هرچند، برای تغییر یک متغیر سراسری در یک تابع، باید از لغت کلیدی global استفاده کنیم. این کار را با نوشتن global جلوی متغیر انجام می دهند. در بخش زیر مثالی برای نحوه استفاده از متغیرهای سراسری آمده است:
<?php

$num1 = 5;
$num2 = 2;

function multiply(){
  global $num1; // Accessing global variables from function scope requires this explicit statement
  global $num2;
  $answer = $num1*$num2;
  return $answer;
}

// When in the global scope, regular global variables can be used
// without explicitly stating 'global $variable;'
echo "num1 is: $num1\n";
echo "num2 is: $num2\n";
echo multiply();
?>
توجه: در همان عبارتی که کلمه کلیدی global را آورده اید، نمی توانید مقداری به آن متغیر اختصاص دهید. تصویر زیر نحوه کار کد بالا را نمایش می دهد:

استفاده از متغیرهای متغیر برای فراخوانی توابع

در بخش های قبلی در مورد متغیر متغیرها صحبت کرده بودیم. متغیرهای متغیر برای نگاشت فراخوانی توابع و متد ها استفاده می شوند. قطعه کد زیر را که در آن از متغیرهای متغیر برای فراخوانی تابع جمع استفاده کردیم در نظر بگیرید. (همانطور که از نام تابع بر می آید، این تابع دو عدد صحیح را دریافت کرده و مجموع آنها را بر می گرداند.
<?php
function sum($x, $y)
{
    return $x + $y;
}
$funcName = 'sum';
echo $funcName(2, 4); // outputs 6;
?>

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

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

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

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