(PHP 4, PHP 5, PHP 7, PHP 8)
unset — Belirtilen değişkeni unset() ile bildirimsiz yapar
unset() işlevi belirtilen değişkenleri hiç tanımlanmamış duruma getirir.
İşlevin başka bir işlev içindeki davranışı tanımsız yapılmaya çalışılan değişkenin türüne bağlıdır.
Aşağıdaki örnekte işlevin içinde yokedilmeye çalışılan değişken işlev içinde küreselleştirilmiş bir değişken olup değişkenin sadece yerel tanımı yok edilir. Değişkenin çağrı ortamındaki değeri unset() çağrılmadan önceki değerini korur.
Örnek 1 unset() kullanımı
<?php
function foo_yu_gebert()
{
global $foo;
unset($foo);
}
$foo = 'bar';
foo_yu_gebert();
echo $foo;
?>Bir küresel değişkeni bir işlev içinde yoketmeniz gerekliyse $GLOBALS dizisini kullanabilirsiniz:
Örnek 2 Bir küresel değişkenin unset() ile yokedilmesi
<?php
function foo()
{
unset($GLOBALS['bar']);
}
$bar = "something";
foo();
?>Gönderimli aktarılan bir değişkeni bir işlev içinde yoketmeye çalışırsanız sadece yerel değişkeni yoketmiş olursunuz. Değişkenin, işlevin çağrıldıgı ortamdaki değeri unset() çağrılmadan önceki değerini korur.
Örnek 3 Gönderim ile unset()
<?php
function foo(&$bar)
{
unset($bar);
$bar = "başka bir şey";
}
$bar = 'bir şey';
echo "$bar\n";
foo($bar);
echo "$bar\n";
?>Bir duruk değişkeni bir işlev içinde yoketmeye çalışırsanız değişkeni sadece işlevin kalan bağlamı için yoketmiş olursunuz. Aşağıdaki çağrılar değişkenin önceki değerinin geçerli kaldığını gösterecektir.
Örnek 4 Duruk değişkenle unset()
<?php
function foo()
{
static $bar;
$bar++;
echo "unset öncesi: $bar, ";
unset($bar);
$bar = 23;
echo "unset sonrası: $bar\n";
}
foo();
foo();
foo();
?>
değişkenYokedilecek değişken.
değişkenlerYokedilecek değişkenler.
Hiçbir değer dönmez.
Örnek 5 - unset() örneği
<?php
// tek bir değişkeni yokedelim
unset($foo);
// Bir dizinin tek bir elemanını yokedelim
unset($bar['quux']);
// birden fazla değiykeni yokedelim
unset($foo1, $foo2, $foo3);
?>Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.
Bilginize:
Nesne özelliklerini geçerli bağlamda görünür olsalar bile yoketmek mümkündür.
Bildirilmişse, tanımsız özelliğe erişirken __get(), atama yapılırken __set() çağrılır.
Bilginize:
Bir nesne yöntemi içinde
$thisyokedilemez.
Bilginize:
unset() erişilir olmayan nesne özellikleri kullanıyorsa, bildirimli olduğu taktirde __unset() yöntemi çağrılabilir.