optionele parameters in zelfgemaakte functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Afra ca

Afra ca

06/05/2009 20:08:00
Quote Anchor link
Gegroet,

Ik had een vraag, zoals dat gebruikelijk is op dit forum. Is het mogelijk om optionele parameters in een zelfgemaakte functie te hebben?
 
PHP hulp

PHP hulp

25/04/2024 17:19:05
 
Jelmer -

Jelmer -

06/05/2009 20:14:00
Quote Anchor link
Ja hoor, voorbeeldje:

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
15
16
17
18
19
20
21
<?php

function html_textfield($name, $value = '', array $attributes = array())
{

    $html_attributes = '';

    foreach($attributes as $key => $value) {
        $html_attributes .= sprintf(' %s="%s"', $key, $value);
    }


    return sprintf('<input type="text" name="%s" value="%s"%s>',
         $name,
         $value,
         $html_attributes);
}


echo html_textfield('test_1');
echo html_textfield('test_2', 'waarde');
echo html_textfield('test_3', 'waarde', array('disabled' => 'disabled'));

?>

PS: Die "array" voor $attributes is niet noodzakelijk, maar zorgt ervoor dat PHP een foutmelding geeft wanneer je iets anders dan een array als derde argument meegeeft aan de functie.

edit: Ja, idd, quotje zat even fout. Geen syntax kleurtjes in de textbox hiero he ;)

Dit is trouwens een betere variant, die ook rekening houdt met speciale karakters in de values. Dit is zeg maar meer "zoals 'ie hoort"
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
15
16
17
18
19
20
21
22
<?php

function html_textfield($name, $value = '', array $attributes = array())
{

    $html_attributes = '';

    foreach($attributes as $key => $value)
        $html_attributes .= sprintf(' %s="%s"',
            $key,
            htmlentities($value, ENT_QUOTES, 'utf-8'));

    return sprintf('<input type="text" name="%s" value="%s"%s>',
        $name,
        htmlentities($value, ENT_QUOTES, 'utf-8'),
        $html_attributes);
}


echo html_textfield('test_1');
echo html_textfield('test_2', 'waarde');
echo html_textfield('test_3', 'waarde', array('disabled' => 'disabled'));

?>
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Afra ca

Afra ca

06/05/2009 20:19:00
Quote Anchor link
Een geweldig voorbeeld waar ik veel aan heb. Mijn dank is groot.

(en stiekem in je edit je code even fixen (de vergeten single quote))
 



Overzicht Reageren

 
 

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.