Versio

optionele parameters in zelfgemaakte functie

Overzicht Reageren

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/05/2012 13:23:08
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Jelmer rrrr

Jelmer rrrr

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 rrrr
 
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