Bonjour à tous,
Je suis en train de coder en PHP et je me rend compte que je ne sais pas s'il est possible d'envoyer que certain arguments !
Pour le thread, imaginons que je travaille sur une fonction qui gèrerait des images :
Le principe maintenant serait de lancer la fonction en définissant $type mais en laissant $nom par defaut..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php function image($nom='noname', $type='png') { // content echo $nom.".".$type."<br/>"; } ?>
J'ai essayer comme d'autre langage à lancer la fonction de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php image($type="bmp"); ?>
Mais PHP le comprend en créant une variable $type dans ce bloc, et envoit la valeur (qui sera interprété par le premier argument)...
Un petit exemple pour comprendre :
Sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php image($type="bmp"); echo $type; ?>
bmp.png
bmp
Quelqu'un sait si c'est possible ??! Je me dis que PHP à intégré une autre façon pour faire ça.
Pour essayer de faire un rendu à peut près identique je pensais ne mettre qu'un seul argument [Array] avec des clés bien défini puis testé les valeurs rentrés, les autres seront rajouté avec les valeur par défaut.
Exemple :
Sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php function image($arg = array() ) // si aucun argument on prend un tableau vide { // valeur par defaut $defaut = array( 'nom'=>'noname', 'type'=>'png'); // liste des valeurs par defaut $array = array_merge($defaut, $arg); // content echo $array['nom'].".".$array['type']."<br/>"; } image(); image(array('type'=>'bmp')); image(array('nom'=>'truc')); image(array('nom'=>'truc', 'type'=>'bmp')); ?>
Quelqu'un aurait une autre idée ? Ou une meilleur solution ?noname.png
noname.bmp
truc.png
truc.bmp
Merci à tous !
Partager