unset

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

unsetBelirtilen değişkeni 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.

<?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

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 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"

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.

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

To Top