PHP Değişken Kapsamı
PHP Değişken Kapsamı
PHP'de değişkenler betiğin herhangi bir yerinde bildirilebilir.
Bir değişkenin kapsamı, komut dosyasının değişkene başvurulabileceği/kullanılabileceği kısmıdır.
PHP'nin üç farklı değişken kapsamı vardır:
- yerel
- küresel
- statik
Küresel ve Yerel Kapsam
Bir işlevin dışında bildirilen bir değişkenin KÜRESEL KAPSAMI vardır ve yalnızca bir işlevin dışında erişilebilir:
Örnek
Global kapsamlı değişken:
<?php
$x = 5; // global scope
function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
echo "<p>Variable x outside function is: $x</p>";
?>
Bir işlev içinde bildirilen bir değişkenin bir YEREL KAPSAMI vardır ve yalnızca bu işlev içinde erişilebilir:
Örnek
Yerel kapsamı olan değişken:
<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
Yerel değişkenler yalnızca bildirildikleri işlev tarafından tanındığından, farklı işlevlerde aynı ada sahip yerel değişkenlere sahip olabilirsiniz.
PHP Küresel Anahtar Kelime
Anahtar global
kelime, bir fonksiyon içinden global bir değişkene erişmek için kullanılır.
Bunu yapmak için global
, değişkenlerden önce anahtar kelimeyi kullanın (fonksiyonun içinde):
Örnek
<?php
$x = 5;
$y = 10;
function myTest()
{
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
PHP ayrıca tüm global değişkenleri
. Değişkenin adını tutar. Bu diziye ayrıca işlevlerin içinden erişilebilir ve global değişkenleri doğrudan güncellemek için kullanılabilir.$GLOBALS[index]
index
Yukarıdaki örnek şu şekilde yeniden yazılabilir:
Örnek
<?php
$x = 5;
$y = 10;
function myTest()
{
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
?>
PHP Statik Anahtar Kelime
Normalde, bir işlev tamamlandığında/yürütüldüğünde, tüm değişkenleri silinir. Ancak bazen yerel bir değişkenin silinmemesini isteriz. Başka bir iş için ona ihtiyacımız var.
Bunu yapmak için static
, değişkeni ilk bildirdiğinizde anahtar kelimeyi kullanın:
Örnek
<?php
function myTest()
{
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
Ardından, işlev her çağrıldığında, bu değişken, işlevin son çağrıldığı zamandan itibaren içerdiği bilgilere sahip olacaktır.
Not: Değişken hala işlevde yereldir.