SORU
25 ŞUBAT 2009, ÇARŞAMBA


'iyi PHP ile bellek boşaltma s: () Geri Al veya $var = null

Bir işlev çağrısı yükünden kaçınmak için ikinci bir farkgüncellemeeğer daha iyi olup olmadığını bilmek ilginç olurdu ama , aslında bir dil yapısı), diğer. Benim kodlama çoğu için unset() kullanıyorum, ama son zamanlarda birkaç saygın bir kurs yerine $var = null kullanan internetten buldum inceledim.

Bir tercih var, ve muhakeme nedir?

CEVAP
25 ŞUBAT 2009, ÇARŞAMBA


(2009) unset (şimdi adam sayfa içermez 2013, artık) belirtilen

unset() isminden de anlaşılacağı sadece mu - bir değişken atanır. Acil bellek boşaltma zorlamaz. PHP çöp toplayıcı olacak mı görmek uyar - niyet olmaz, bu CPU döngüsü değil gereken neyse ya da geç daha önce olduğu gibi senaryo ki bellek yetersiz, ne olursa olsun ilk oluşur.

Eğer $whatever = null; sonra yapıyorsanız, bu değişkenin veri yeniden. Bellek serbest / daha hızlı çekmiş olabilirsin, ama gerçekten er onlara gereken kod CPU döngüleri, daha uzun toplam çalışma süresi performansı çalmak olabilir.

Php5 kadar unutmayın.3, eğer var two objects in circular reference gibi bir ebeveyn-çocuk ilişkisi, arayıp Geri Al() ana nesne değil, boş bellek için kullanılan Ana referans çocuğun nesne. (Ne de bellek üst nesne çöp toplama olduğunda serbest bırakılır..) (bug 33595)


Soru "difference between unset and = null" ayrıntılar bazı farklılıklar:


unset($a) da örneğin sembol tablosundan;: $a kaldırır

$a = str_repeat('hello world ', 100);
unset($a);
var_dump($a);

Çıkışlar:

Notice: Undefined variable: a in xxx
NULL

Ama $a = null kullanıldığında:

$a = str_repeat('hello world ', 100);
$a = null;
var_dump($a);
Outputs:

NULL

$a = null daha hızlı unset() tanımı gibi görünüyor: sembol tablosu girişi kaldırmadan daha hızlı gözüküyor. güncelleme


  • varolmayan (**15) bir değişken kullanmaya çalıştığınızda, bir hata tetiklenir ve değişken ifadenin değeri sıfır olacaktır. Başka PHP (ne için, ne? Her ifadenin bir değeri neden gerekiyor.)
  • Null olan bir değişken atanmış hala gayet normal bir değişken olsa da.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Php

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • Justin Schenck

    Justin Schen

    24 Kasım 2006