Lingkup Variabel PHP
Lingkup Variabel PHP
Dalam PHP, variabel dapat dideklarasikan di mana saja dalam skrip.
Ruang lingkup variabel adalah bagian dari skrip di mana variabel dapat direferensikan/digunakan.
PHP memiliki tiga cakupan variabel yang berbeda:
- lokal
- global
- statis
Lingkup Global dan Lokal
Variabel yang dideklarasikan di luar fungsi memiliki LINGKUP GLOBAL dan hanya dapat diakses di luar fungsi:
Contoh
Variabel dengan cakupan global:
<?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>";
?>
Variabel yang dideklarasikan dalam suatu fungsi memiliki LINGKUP LOKAL dan hanya dapat diakses di dalam fungsi itu:
Contoh
Variabel dengan cakupan lokal:
<?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>";
?>
Anda dapat memiliki variabel lokal dengan nama yang sama di fungsi yang berbeda, karena variabel lokal hanya dikenali oleh fungsi di mana mereka dideklarasikan.
PHP Kata Kunci global
Kata global
kunci digunakan untuk mengakses variabel global dari dalam suatu fungsi.
Untuk melakukan ini, gunakan global
kata kunci sebelum variabel (di dalam fungsi):
Contoh
<?php
$x = 5;
$y = 10;
function myTest()
{
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
PHP juga menyimpan semua variabel global dalam array yang disebut
. The memegang nama variabel. Array ini juga dapat diakses dari dalam fungsi dan dapat digunakan untuk memperbarui variabel global secara langsung.$GLOBALS[index]
index
Contoh di atas dapat ditulis ulang seperti ini:
Contoh
<?php
$x = 5;
$y = 10;
function myTest()
{
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
?>
PHP Kata Kunci statis
Biasanya, ketika suatu fungsi selesai/dieksekusi, semua variabelnya akan dihapus. Namun, terkadang kami ingin variabel lokal TIDAK dihapus. Kami membutuhkannya untuk pekerjaan lebih lanjut.
Untuk melakukan ini, gunakan static
kata kunci saat pertama kali mendeklarasikan variabel:
Contoh
<?php
function myTest()
{
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
Kemudian, setiap kali fungsi dipanggil, variabel itu akan tetap memiliki informasi yang dikandungnya sejak terakhir kali fungsi dipanggil.
Catatan: Variabel masih lokal ke fungsi.