bir php fonksiyonu varsayılan olarak ne çıkmıyor?

2 Cevap php

Ben açıkça bir şey dönüp, bir php fonksiyonu tam olarak ne çıkmıyor?

function foo() {}
  1. Bu türü nedir?

  2. Ne değeri nedir?

  3. Nasıl === ile tam olarak bunun için test?

  4. Php4 den php5 için bu değişikliği yaptım?

  5. function foo() {} ve function foo() { return; } arasında bir fark var mı

(I if (foo() !=0) ... gibi test nasıl soran değilim)

2 Cevap

  1. null
  2. null
  3. if(foo() === null)
  4. -
  5. Hayır.

Bunu yaparak bunu deneyebilirsiniz:

$x = foo();
var_dump($x);

Bir PHP fonksiyonu bir değer döndürüyor değil boş döndüren bir işlev olarak aynı mantığı vardır.

function foo() {}

$x=foo();

echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";

Bu irade çıktı

NULL
false
true

Foo ile değiştirilir eğer aynı sonucu elde

function foo() {return null;}

Php5 için php4 bu davranışında herhangi bir değişiklik olmamıştır (ben sadece emin olmak için test!)