Nasıl bir işlev çağrısı isteğe bağlı bağımsız değişkenlerini atlamak?

3 Cevap php

Tamam ben tamamen PHP bağımsız değişkenlerini atlamak nasıl unuttum.

Ben var diyelim:

checkbox_field      
( 
$name,
$value = '',
$checked = false,
$compare = '',
$parameter = ''
)

Nasıl bu işlevini çağırın ve ikinci son argüman atlamak?

checkbox_field('some name', 'some value', FALSE, '' , 'some parameter');

Yukarıdaki doğru olurdu? Ben bu işe almak gibi olamaz.

Teşekkürler

3 Cevap

Yazınızı doğru.

Eğer parametre listesinin en sonuna isteğe bağlı bir parametre kullanmanız gerekir Ne yazık ki, bu son parametre kadar her şeyi belirtmek zorunda. Genellikle mix ve maç istiyorsanız, onlara '' veya null varsayılan değerler vermek ve onlar o varsayılan değer ise işlevin içinde bunları kullanmayın.

false veya null gibi bir varsayılan belirtmek için başka bir argüman "atlamak" için yolu yok.

Bu söz konusu olduğunda PHP bazı sözdizimsel şeker yoksun olduğundan, sık sık böyle bir şey göreceksiniz:

checkbox_field(array(
    'name' => 'some name',
    ....
));

Gibi eloquently yorumlar dedi ki, adlandırılmış değişkenleri taklit diziler kullanıyor.

Bu esneklik verir ama bazı durumlarda gerekli olmayabilir. En azından size argüman listesinin sonuna çoğu zaman beklenmemektedir düşünüyorum ne olursa olsun taşıyabilirsiniz.

Herhangi bir parametre atlanır için güvenli tarafta olmak için, varsayılan parametre ile gitmek (Mecbur).

(... Varsayılan parametre olduğunu'' veya benzer ya da tam tersi troublew içine alacak null yerleşme)