SORU
2 Temmuz 2009, PERŞEMBE


't use yöntem içerik yazmak değer döndürebilir

Aşağıdaki kod parçasının çalışması gerektiğini düşünürdüm, ama değil:Güncelleme:ben Şimdi PHP 5.5 çalışır

if (!empty($r->getError()))

getError() nereye sadece

public function getError()
{
    return $this->error;
}

Ama ben bu hata ile bitirmek:

can't use method return value in write context

Bu ne demektir? Bu sadece bir okuma değil mi?

CEVAP
1 Aralık 2010, ÇARŞAMBA


empty() referans değer erişmek için gereken başvuru var, bunun bir işaret olup olmadığını kontrol etmek için (), ve 5.5 önce PHP geçici değerler işlevlerden döndürülen başvuru destek vermedi.

Ancak, asıl sorun empty() kullandığınız, yanlışlıkla inanarak "" değeri farklıdır "herhangi". yanlış boş

Boş !isset($thing) || !$thing için sadece bir takma ad. Kontrol ettiğin şey her zaman vardır, empty() işlevidirhiçbir şey ama bir olumsuzluk operatörü.

PHPemptyness . kavramı yok . Yanlış değerlendirmesi değerleri boş, true sonucunu değerleri olmayan boş. Aynı şey. Bu kod:

$x = something();
if (empty($x)) …

ve bu:

$x = something();
if (!$x) …

vardırhep aynı sonuç çıkıyor, tüm veri türleri için her durumda($x tanımlandığından empty() gereksiz).

Bu yöntem değer her zaman var (eğer return açıklama yok varsa bile, geri dönüş değeri ve null var içerir) dönüş. Bu nedenle:

if (!empty($r->getError()))

mantıksal olarak eşdeğerdir:

if ($r->getError())

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • mist64

    mist64

    30 Mayıs 2006
  • PlayStation

    PlayStation

    16 Aralık 2005