ifset

Door Jelmer -, 20 jaar geleden, 5.208x bekeken

Met PHP 5.3 is er een korte variant op de ternary operator ( $a ? $a : $b ) namelijk $a ?: $b. Het huidige "probleem" is dat je $a moet herhalen. Met simpele variabelen niet zo'n probleem, maar als je diepe arrays hebt, of arrays met keys die berekend moeten worden, is het wat minder prettig.

Deze functie is niet een vervanger, omdat je beperkt bent tot variabelen als eerste argument. Je kan een pass-by-reference argument niet de return-value van een functie geven.

Je kan er ook andere varianten op maken, bijvoorbeeld iets met empty.

Voorbeeldje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<input type="text" name="naam" value="' . ifset($_POST['naam'], 'je naam') . '">';
?>

Gesponsorde koppelingen

PHP script bestanden

  1. ifset

 

Er zijn 1 reacties op 'Ifset'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
PHP Newbie
PHP Newbie
20 jaar geleden
 
0 +1 -0 -1
Zo zou je er ook eentje aan kunnen maken voor radio buttons:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function ifset_radio(&$x, $y)
{

    return (isset($x) && $x = $y) ? ' CHECKED' : '';
}

?>



<form method="POST" action="#">
    <label><input type="radio" name="test" value="1"<?php echo ifset_radio($_POST['test'], 1) ?> /> Waarde</label><br />
    <label><input type="radio" name="test" value="2"<?php echo ifset_radio($_POST['test'], 2) ?> /> Waarde 2</label><br />
    <br />
    <button type="submit">Test!</button>
</form>


En eentje voor checkboxes... Misschien zelfs wel een gecombineerde functie.

Goede toevoeging iig.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. ifset

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.