Mon problème est que dans l'appel de la fonction $var2 et $var3 n'existe pas forcement...
Je peux avoir quelque chose comme ça :
function essai ($var1,$var2,$var3) {
if (isset($var2)) { ... }
if (isset($var3)) { ... }
}
et l'appeler par exemple comme ça :
essai (1,2,3) ou essai (1,,) ou essai (1,,3) ou essai (1,2,)
???
function essai ($var1, $var2=NULL, $var3=NULL) { /* teste ici la valeur de $var2 et $var3, avec empty() par exemple */ }
et tu peux ainsi appeler ta fonction parmi l'une des 3 possibilités suivantes :
1) essai(1); 2) essai(1, 2); 3) essai(1, 2, 3);
++
Mr Prout !
Thierry
bonjour,
je vois au moins 2 solutions à ton problème:
//----------------------------------------------------------------------- //première solution define('VALEUR_PAR_DEFAUT', 'srgfdgfdsgfdgd'); function foo($v1 = VALEUR_PAR_DEFAUT, $v2 = VALEUR_PAR_DEFAUT, $v3 VALEUR_PAR_DEFAUT) { if ( $v1 != VALEUR_PAR_DEFAUT) { .... } if ( $v2 != VALEUR_PAR_DEFAUT) { .... } if ( $v3 != VALEUR_PAR_DEFAUT) { .... } }
dans cette première solution la fonction foo doit toujours être appelée avec 3 paramètres, les paramètres inactifs valant VALEUR_PAR_DEFAUT. Plus exactement les appels suivant sont corrects foo(1); foo(1,2); foo(1,2,3); les appels suivants sont incorrects foo(,2,); => foo(VALEUR_PAR_DEFAUT, 2, VALEUR_PAR_DEFAUT); foo(,,3); => foo(VALEUR_PAR_DEFAUT, VALEUR_PAR_DEFAUT, 3); foo(,2,3); => foo(VALEUR_PAR_DEFAUT, 2, 3); foo(1,,3); => foo(1, VALEUR_PAR_DEFAUT, 3);
//----------------------------------------------------------------------- //deuxième solution function foo ($vars = array() ) { if ( isset($vars['cle_1'])) { .... } if ( isset($vars['cle_2'])) { .... } if ( isset($vars['cle_3'])) { .... } }
avec un appel du type foo(array( 'cle_1' => 1, 'cle_3' => 3 ));
amicalement
thierry
bonjour,
je vois au moins 2 solutions à ton problème:
//-----------------------------------------------------------------------
//première solution
define('VALEUR_PAR_DEFAUT', 'srgfdgfdsgfdgd');
function foo($v1 = VALEUR_PAR_DEFAUT, $v2 = VALEUR_PAR_DEFAUT, $v3 VALEUR_PAR_DEFAUT) {
if ( $v1 != VALEUR_PAR_DEFAUT) {
....
}
if ( $v2 != VALEUR_PAR_DEFAUT) {
....
}
if ( $v3 != VALEUR_PAR_DEFAUT) {
....
}
}
dans cette première solution la fonction foo doit toujours être appelée avec
3 paramètres, les paramètres
inactifs valant VALEUR_PAR_DEFAUT.
Plus exactement les appels suivant sont corrects
foo(1);
foo(1,2);
foo(1,2,3);
les appels suivants sont incorrects
foo(,2,); => foo(VALEUR_PAR_DEFAUT, 2, VALEUR_PAR_DEFAUT);
foo(,,3); => foo(VALEUR_PAR_DEFAUT, VALEUR_PAR_DEFAUT, 3);
foo(,2,3); => foo(VALEUR_PAR_DEFAUT, 2, 3);
foo(1,,3); => foo(1, VALEUR_PAR_DEFAUT, 3);
//-----------------------------------------------------------------------
//deuxième solution
function foo ($vars = array() ) {
if ( isset($vars['cle_1'])) {
....
}
if ( isset($vars['cle_2'])) {
....
}
if ( isset($vars['cle_3'])) {
....
}
}
avec un appel du type
foo(array(
'cle_1' => 1,
'cle_3' => 3
));
//----------------------------------------------------------------------- //première solution define('VALEUR_PAR_DEFAUT', 'srgfdgfdsgfdgd'); function foo($v1 = VALEUR_PAR_DEFAUT, $v2 = VALEUR_PAR_DEFAUT, $v3 VALEUR_PAR_DEFAUT) { if ( $v1 != VALEUR_PAR_DEFAUT) { .... } if ( $v2 != VALEUR_PAR_DEFAUT) { .... } if ( $v3 != VALEUR_PAR_DEFAUT) { .... } }
dans cette première solution la fonction foo doit toujours être appelée avec 3 paramètres, les paramètres inactifs valant VALEUR_PAR_DEFAUT. Plus exactement les appels suivant sont corrects foo(1); foo(1,2); foo(1,2,3); les appels suivants sont incorrects foo(,2,); => foo(VALEUR_PAR_DEFAUT, 2, VALEUR_PAR_DEFAUT); foo(,,3); => foo(VALEUR_PAR_DEFAUT, VALEUR_PAR_DEFAUT, 3); foo(,2,3); => foo(VALEUR_PAR_DEFAUT, 2, 3); foo(1,,3); => foo(1, VALEUR_PAR_DEFAUT, 3);
//----------------------------------------------------------------------- //deuxième solution function foo ($vars = array() ) { if ( isset($vars['cle_1'])) { .... } if ( isset($vars['cle_2'])) { .... } if ( isset($vars['cle_3'])) { .... } }
avec un appel du type foo(array( 'cle_1' => 1, 'cle_3' => 3 ));
amicalement
thierry
Stan
"JF Messian" a écrit dans le message de news:1i0ttsd.1l6wi3z1he5ewuN%
J'ai une fonction avec 3 variables :
function essai ($var1,$var2,$var3) {
....
}
Regardez dans la doc les fonctions : func_num_args(), func_get_arg() et func_get_args(), vous devriez trouver votre bonheur...
-- -Stan
"JF Messian" <messian_nospam@hypermedia-europe.com> a écrit dans le message
de news:1i0ttsd.1l6wi3z1he5ewuN%messian_nospam@hypermedia-europe.com...
J'ai une fonction avec 3 variables :
function essai ($var1,$var2,$var3) {
....
}
Regardez dans la doc les fonctions : func_num_args(), func_get_arg() et
func_get_args(),
vous devriez trouver votre bonheur...