خانه آموزش برنامه نویسی محدوده عملکرد متغیرها در PHP

محدوده عملکرد متغیرها در PHP

54 بازدید
۰
0
27

متغیرهای PHP میتوانند در هر جایی از اسکریپت نمایان شوند(اسکریپت به مجموعه از کدها گفته میشود). دامنه عملکرد یک متغیر (variable scope) بخشی از اسکریپت است که متغیر در آن به کار می‌رود و یا به آن ارجاع داده میشود.

دامنه هایی که بیشتر از بقیه در PHP استفاده میشوند عبارت اند از:

  • محلی (Local)
  • سراسری(Global)
  • ایستا (static)

متغیر محلی در PHP چیست؟

به متغیری که درون یک تابع مشخص می‌شود متغیر محلی یا (local scope) گفته می‌شود این متغیر فقط درون آن تابع قابل دسترسی است.

متغیر سراسری در PHP چیست؟

به متغیری که خارج از یک تابع (Function) مشخص می‌شود متغیر سراسری یا (Global scope) گفته می‌شود این متغیر فقط خارج از یک تابع قابل دسترسی است.

مثال زیر را در نظر بگیرید:

<?php
  $name = 'Ali';

  function getName() {
    $nametwo = 'ali';
  }

?>

متغیر name یک متغیر سراسری (Global scope) است و در تابع getName قابل دسترسی نیست در صورت استفاده از تابع با پیغام خطا مواجه میشویم و فقط در خارج از تابع میتوان از آن استفاده کرد حال برعکس همین موضوع برای متغیر nametwo صدق میکند متغیر nametwo فقط در داخل تابع دسترسی دارد و خارج از آن تابع نمیتوان از آن استفاده کرد.

کلمه کلیدی global پیش از نام متغیر چیست؟

کلمه کلیدی گلوبال (global) به منظور دسترسی به یک متغیر global از درون یک تابع به کار می‌رود به مثال زیر توجه کنید

<?php
  $name = 'Ali';

  function getName() {
    global $name;
    $nametwo = 'ali';
  }

?>

با استفاده از کلمه کلیدی global میتوانیم به متغیر خارج از تابع دسترسی داشته باشیم و از آن در داخل تابع استفاده کنیم.

static در PHP چیست؟

اگر درون تابع متغیری از نوع Static تعریف کنیم، تنها داخل همان تابع به متغیر مذکور دسترسی خواهیم داشت و آخرین مقدار تنظیم شده برای متغیر از نوع Static حفظ خواهد شد و همیشه به آن دسترسی وجود خواهد داشت.
تصور فرمایید، کاربر شماره ۱ وارد برنامه شده و باعث اضافه شدن یک واحد به متغیر Static شود، حالا اگر کاربر شماره ۲ وارد برنامه شود، آخرین مقدار متغیر static را مشاهده خواهد کرد و می توند ۱ واحد به آن اضافه کند
یک مثال واقعی برای متغیر Static، استفاده از آن برای نمایش آمار تعداد کاربران “میهمان” یا “اعضا” است.

<?php
function myFun() {
    static $var = 0;
    echo $var;
    $var++;
}

myFun();
myFun();
myFun();
?>

در این مثال لازم نیست شما کامل تابع را درک کنید صرفا مثالی زده شده برای درک static. تابع myFun با هر بار اجرا یک مقدار به متغیر var اضافه میکند ولی اگر کلمه کلیدی static پشت متغیر var نباشد چه میشود؟ تابع myFun هر بار اجرا میشود و مقدار متغیر var را از صفر به یک تغییر میکند ولی دوباره بعد از اتمام تابع متغیر var صفر میشود ولی اگر static قبل متغیر var قرار دهیم اخرین مقدار متغیر نگه داشته میشود و با هر بار اجرا تابع مقدار ان افزایش میابد مثلا در مثال بالا ۳ بار تابع myFun قراخوانی شده و مقدارش از صفر به یک و در نهایت به دو تغیر یافته. هر زمان که تابع صدا زده می شود، آخرین مقدار متغیر static، حفظ می شود.

 

  • مرتب سازی آرایه های انجمنی در php

    مرتب کردن آرایه های انجمنی بر اساس مقدار به صورت صعودی – ()asort تابع ()asort آرایه های ان…
  • مرتب سازی آرایه در PHP

    در زبان php می توان آرایه ها را به صورت الفبایی و یا عددی مرتب کرد . هم چنین این مرتب سازی…
  • آرایه چندبعدی در PHP

    آرایه های چندبعدی (Multi-Dimensional Arrays) یک آرایه چند بعدی، از یک یا بیش از یک آرایه ر…
مقالات مرتبط بیشتر را بارگیری کنید
بارگزاری مطالب دیگر Ansel
Load More In آموزش برنامه نویسی

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

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

نوزده − 5 =

همچنین بررسی کنید

چگونه یک اپلیکیشن اندروید با Android Studio بسازیم ؟

در این آموزش اصول اولیه ساختن یک برنامه اندرویدی (اپلیکیشن اندروید) با استفاده از محیط توس…