Bu iki işlev arasındaki fark nedir?

5 Cevap php

Bu işlevler arasında fark nedir? ve neden bir işlev parametresi boş bir değer atama?

function prints($var = '') {
echo $var; }

function prin($var) {
echo $var; }

Her ikisi de aynı sonucu basar.

bir işlev parametresi boş bir değer atarsanız ne olur?

5 Cevap

İlk fonksiyon ilk parametre için bir default value vardır. İşte bu işlevi çağrılırken parametre belirtilmesi gerekmez anlamına gelir.

Yani bu gibi parametre olmadan ilk işlevini çağırabilirsiniz:

prints();

Ve ilk parametre için varsayılan değer kullanılır. İkinci işlevi çağrılırken ancak parametre verilen gerekiyor:

prin('parameter');

Eğer bu parametre olmadan çağırırsanız (prin()), sizin gibi bir uyarı alırsınız:

Warning:) prin için (argüman 1 denilen Eksik ...

Eğer her bir varsayılan değer atamak olmaz sanki varsayılan $var = '', çünkü bu fonksiyonlar will work in an identical way, aynı etkiyi gösterecektir.

Doğru işaret bamya @ gibi iki fonksiyon arasındaki fark, prin() $var belirtmeden denilen olamaz olduğunu, ancak prints() yapabilirsiniz.

Boş bir parametre ile işlevini çağırırsanız, $var sadece boş olacaktır.

Bu bir varsayılan parametre bulunuyor

http://php.net/manual/en/functions.arguments.php

Parametre eksik olduğundan Yani örnek () boş bir dize yankı baskılar arama ve prin çağırmak için () bir hata atmak olacaktır.

İlki değişken $ var için bir varsayılan değere sahiptir.

Sen function arguments üzerine PHP kılavuzu sayfa okuma ilginizi çekebilir.

Fonksiyon

function prints($var = '')

(bu durumda bir boş değer) varsayılan bir değer alır.

The other function doesn't receive it. This means, that you can call the first function prints() with no parameter, and it'll treat it as if you called it with an empty string - prints('').

Bunu varsayılan bir değer değil gibi, tanımlanan parametre olmadan ikinci işlevini çağırmak olamaz, ve bir hata verecektir.