optionele parameters in zelfgemaakte functie
Ik had een vraag, zoals dat gebruikelijk is op dit forum. Is het mogelijk om optionele parameters in een zelfgemaakte functie te hebben?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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'));
?>
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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'));
?>
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 -
(en stiekem in je edit je code even fixen (de vergeten single quote))