unset

(PHP 4, PHP 5, PHP 7, PHP 8)

unsetBelirtilen değişkeni unset() ile bildirimsiz yapar

Açıklama

unset(mixed $değişken, mixed ...$değişkenler): void

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();
?>

Bağımsız Değişkenler

değişken

Yokedilecek değişken.

değişkenler

Yokedilecek değişkenler.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Ö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);
?>

Notlar

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 $this yokedilemez.

Bilginize:

unset() erişilir olmayan nesne özellikleri kullanıyorsa, bildirimli olduğu taktirde __unset() yöntemi çağrılabilir.

Ayrıca Bakınız