Bir değeri kontrol var

1 Cevap

Ben benim formunda aşağıdaki onay kutularını var, id bunlardan en az birini bunların adını değiştirmeden kontrol edilir nasıl kontrol edeceğinizi bilmek istiyorum.

<label for="branding">Branding
<input type="checkbox" name="branding" id="branding" class="checkbox" /></label>
<label for="print">Print
<input type="checkbox" name="print" id="print" class="checkbox" /></label>
<label for="website">Website
<input type="checkbox" name="website" id="website" class="checkbox" /></label>
<label for="other">Other
<input type="checkbox" name="other" id="other" /></label>

1 Cevap

isset() veya array_key_exists() kullanın. Iki fonksiyon tuşu var olsa bile, isset verir false, değer null ise çok hafif bir fark var. Ancak, bu durumda önemli olmamalı

if ( isset($_POST['branding']) || isset($_POST['print']) ){
    //...
}

Ya da belki daha iyi

$ops = array('branding', 'print');
$hasSomethingSet = false;
foreach ( $ops as $val ){
     if ( isset($_POST[$val]) ){
         $hasSomethingSet = true;
         break;
     }
}

if ( $hasSomethingSet ){
    //...
}



If you have PHP 5.3, a slightly slower but more elegant solution is (untested):

$ops = array('branding', 'print');
$hasSomethingSet = array_reduce($ops, 
                                function($x, $y){ return $x || isset($_POST[$y]; },
                                false);

Eğer bunu tercih ederseniz olarak ne kadar mutlu fonksiyonel programlama ile bağlıdır.