آموزش متغیر global در php به همراه مثال و تفاوت آن با متغییر محلی

ارسال شده توسط: حسین درویشی Comments: 4

آموزش متغیر global در php به همراه مثال و تفاوت آن با متغییر محلی

متغیر global در php یکی از پرکاربردترین مباحث در برنامه نویسی حرفه ای است امروز می خواهیم این موضوع بسیار مهم را در php آموزش دهیم.

پیش از این با متغیر ها در زبان php آشنا شدید امروز می خواهیم ببینیم متغیر global را چگونه تعریف کنیم.
توجه : برای اجرای صفحات php از wampserver استفاده کنید.

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

  1. متغیر local یا محلی
  2. متغیر global یا متغیر سراسری

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

فقط در قسمت تعریف شده قابل استفاده است. بفرض مثال اگر یک متغیر را در داخل یک متد تعریف کنید آن متغیر فقط داخل همان متد قابل دسترسی است.

متغیر Global چیست؟

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

تعریف متغیر Global در php

برای تعریف متغییر Global در php به روش زیر اقدام کنید

<?php 
$a = 90;
function my_function(){
global $a;
$a=100;
}
my_function();
echo $a+50;
?>

نتیجه برابرا با 150 خواهد بود

می بینید که در خارج از تایع به متغییر مورد نظر دسترسی پیدا کردیم ما در مثال زیر نمی توانیم خارج از تابع به متغییر a دسترسی داشته باشیم.

<?php 
$a = 90;
function my_function(){
$a;
$a=100;
}
my_function();
echo $a+50;
?>

اگر این مثال را اجرا کنید نتیجه 140 خواهد شد زیرا متغیر a سراسری تعریف نشده و مقدار a داخل تابع تاثیری در نتیجه ندارد.

متغییر global در php

شما در برنامه نویسی حرفه ای حتماً به چنین روشی نیاز خواهید داشت و در اکثر موارد از آنها استفاده خواهید کرد

اگر سوالی در اینباره است لطفاً بیان کنید

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 3]

Comments (4)

  • سعيد ساعي پاسخ

    سلام ببخشيد در مثال زير خروجي ميشود 3 2 1 0 چگونه ميشود با متغير global از همين مثال خروجي 0 0 0 گرفت

    14 اردیبهشت 1399 at 12:55 ق.ظ
    • حسین درویشی پاسخ

      سلام
      منظورتون کدوم مثال هستش.

      14 اردیبهشت 1399 at 4:14 ب.ظ
  • دانیال پاسخ

    نتیجه مثال اول 150 میشه به نظرم 250 اشتباه باشه

    2 اردیبهشت 1399 at 8:30 ق.ظ
    • حسین درویشی پاسخ

      بله درسته 150 میشه – ممنون

      2 اردیبهشت 1399 at 11:19 ق.ظ

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

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