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

  • Eric Magidson

    Eric Magidso

    4 Ocak 2009
  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • mliskIT

    mliskIT

    29 Mart 2012