romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP - Değişken Kapsamı

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,439
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 6 Gün
Başarım Puanı
1,051
MmoLira
695,092
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

local-scope-and-global-scope-in-php.png

PHP'de bir değişkenin kapsamı, tanımlandığı ve erişilebilir olduğu ölçüde erişilebilir olduğu bağlamdır. Genellikle, herhangi bir döngü veya fonksiyon vb. içermeyen basit bir ardışık PHP betiğinin tek bir kapsamı vardır. "<?php" ve "?>" etiketi içinde bildirilen herhangi bir değişken, tanım noktasından itibaren program boyunca kullanılabilir.

Kapsama bağlı olarak bir PHP değişkeni şu üç türden herhangi biri olabilir:

  • Yerel Değişkenler
  • Küresel Değişkenler
  • Statik Değişkenler
Ana betikteki bir değişken, include veya require ifadeleri içeren herhangi bir diğer betik için de kullanılabilir hale getirilir.

Örnek

Aşağıdaki örnekte ana script içerisinde "test.php" scripti yer almaktadır.

ana.php

PHP:
<?php
   $var=100;
   include "test.php";
?>

deneme.php

PHP:
<?php
   echo "value of \$var in test.php : " . $var;
?>

Ana betik yürütüldüğünde, aşağıdaki çıktıyı görüntüler:

value of $var in test.php : 100

Ancak, betik kullanıcı tanımlı bir fonksiyona sahip olduğunda, içindeki herhangi bir değişkenin yerel bir kapsamı olur. Sonuç olarak, bir fonksiyon içinde tanımlanan bir değişkene dışarıdan erişilemez. Fonksiyonun dışında (yukarıda) tanımlanan değişkenlerin küresel bir kapsamı olur.


Örnek

Aşağıdaki örneğe bir göz atın.

PHP:
<?php
   $var=100;   // global variable
   function myfunction() {
      $var1="Hello";     // local variable
      echo "var=$var  var1=$var1" . PHP_EOL;
   }
   myfunction();
   echo "var=$var  var1=$var1" . PHP_EOL;
?>

Aşağıdaki çıktıyı üretecektir:

var= var1=Hello
var=100 var1=

PHP Warning: Undefined variable $var in /home/cg/root/64504/main.php on line 5
PHP Warning: Undefined variable $var1 in /home/cg/root/64504/main.php on line 8

Küresel bir değişkenin bir fonksiyonun yerel kapsamı içinde otomatik olarak kullanılabilir olmadığını unutmayın. Ayrıca, bir fonksiyonun içindeki değişkene dışarıdan erişilemez.

"Küresel" Anahtar Kelime

Bir fonksiyonun yerel kapsamındaki global değişkene erişimi etkinleştirmek için, bu açıkça " global " anahtar sözcüğü kullanılarak yapılmalıdır .

Örnek

PHP betiği şu şekildedir:

PHP:
<?php
   $a=10;
   $b=20;
   echo "Global variables before function call: a = $a b = $b" . PHP_EOL;
   function myfunction() {
      global $a, $b;
      $c=($a+$b)/2;
      echo "inside function a = $a b = $b c = $c" . PHP_EOL;
      $a=$a+10;
   }
   myfunction();
   echo "Variables after function call: a = $a b = $b c = $c";
?>

Aşağıdaki çıktıyı üretecektir:

Global variables before function call: a = 10 b = 20
inside function a = 10 b = 20 c = 15
Variables after function call: a = 20 b = 20 c =
PHP Warning: Undefined variable $c in /home/cg/root/48499/main.php on line 12

Artık global değişkenler fonksiyon içinde işlenebilir. Ayrıca, fonksiyon içindeki global değişkenlerde yapılan herhangi bir değişiklik global ad alanına yansıtılacaktır.


$GLOBALS Dizisi

PHP tüm global değişkenleri $GLOBALS adlı ilişkisel bir dizide depolar. Değişkenlerin adı ve değeri anahtar-değer çiftini oluşturur.

Örnek

Aşağıdaki PHP betiğinde, $GLOBALS dizisi küresel değişkenlere erişmek için kullanılır.

PHP:
<?php
   $a=10;
   $b=20;
   echo "Global variables before function call: a = $a b = $b" . PHP_EOL;

   function myfunction() {
      $c=($GLOBALS['a']+$GLOBALS['b'])/2;
      echo "c = $c" . PHP_EOL;
      $GLOBALS['a']+=10;
   }
   myfunction();
   echo "Variables after function call: a = $a b = $b c = $c";
?>

Aşağıdaki çıktıyı üretecektir:

Global variables before function call: a = 10 b = 20
c = 15
PHP Warning: Undefined variable $c in C:\xampp\htdocs\hello.php on line 12
Variables after function call: a = 20 b = 20 c =

Statik Değişken

Statik anahtar sözcüğüyle tanımlanan bir değişken, fonksiyona yapılan her çağrıda başlatılmaz. Dahası, önceki çağrının değerini korur.

Örnek

Aşağıdaki örneğe bir göz atın.

PHP:
<?php
   function myfunction() {
      static $x=0;
      echo "x = $x" . PHP_EOL;
      $x++;
   }
   for ($i=1; $i<=3; $i++) {
      echo "call to function :$i : ";
      myfunction();
   }
?>

Aşağıdaki çıktıyı üretecektir:

call to function :1 : x = 0
call to function :2 : x = 1
call to function :3 : x = 2
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst