(PHP 4, PHP 5, PHP 7, PHP 8)
unset — Belirtilen değişkeni 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.
<?php
function foo_yu_gebert()
{
global $foo;
unset($foo);
}
$foo = 'bar';
foo_yu_gebert();
echo $foo;
?>
Yukarıdaki örneğin çıktısı:
bar
Bir küresel değişkeni bir işlev içinde yoketmeniz gerekliyse $GLOBALS dizisini kullanabilirsiniz:
<?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.
<?php
function foo(&$bar)
{
unset($bar);
$bar = "başka bir şey";
}
$bar = 'bir şey';
echo "$bar\n";
foo($bar);
echo "$bar\n";
?>
Yukarıdaki örneğin çıktısı:
bir şey bir şey
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.
<?php
function foo()
{
static $bar;
$bar++;
echo "unset öncesi: $bar, ";
unset($bar);
$bar = 23;
echo "unset sonrası: $bar\n";
}
foo();
foo();
foo();
?>
Yukarıdaki örneğin çıktısı:
unset öncesi: 1, unset sonrası: 23 unset öncesi: 2, unset sonrası: 23 unset öncesi: 3, unset sonrası: 23
değişken
Yokedilecek değişken.
değişkenler
Yokedilecek değişkenler.
Hiçbir değer dönmez.
Örnek 1 - 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);
?>
Örnek 2 - (unset) - null
'a dönüşüm örneği
(unset)
dönüşümü çoğunlukla unset() işlevi ile karıştırılır. (unset)
dönüşümü bütünlük adına, sadece NULL
döndürür, dönüşüm yaptığı değişkene null
atamaz, yani işlev gibi değişkeni bildirimsiz yapmaz. (unset)
dönüşümünün kullanımı PHP 7.2.0 ve sonrasında önerilmemekte olup 8.0.0'da kullanımdan kaldırılmıştır.
<?php
$name = 'Felipe';
var_dump((unset) $name);
var_dump($name);
?>
Yukarıdaki örneğin çıktısı:
NULL string(6) "Felipe"
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.
Bilginize:
Bir nesne yöntemi içinde
$this
yokedilemez.
Bilginize:
unset() erişilir olmayan nesne özellikleri kullanıyorsa, bildirimli olduğu taktirde __unset() yöntemi çağrılabilir.