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

  • boniver

    boniver

    17 NİSAN 2006
  • kidrauhl

    kidrauhl

    15 Ocak 2007
  • PlayStation

    PlayStation

    16 Aralık 2005