Bonjour,

Je fais du PHP depuis plus d'un an, mais me voilà devant un obstacle que je n'arrive pas à franchir. Probablement, ce type de fonctions est impossible, mais je tente une dernière fois en vous posant la question.

En effet, je cherche à créer une fonction qui devra recevoir un nombre de paramètres variable mais en même temps elle devra retourner les valeurs par référence:
  • Réception d'un nombre de paramètres quelquonque
  • Traitements des paramètres
  • Retour des valeurs par référence
Si on prend un exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?php
# Ici se trouve ma fonction-mystère machin,
# dont la syntaxe m'est inconnue ou n'existe pas
# Elle ne fait qu'ajouter un plus (+) au début de la chaîne de caractères
 
$var1='toto';
$var2='coco';
machin($var1,$var2);
echo "$var1 et $var2!";
// Ce script devrait afficher:
// « +toto et +coco! »
?>
Si le nombre de paramètres était invariable, j'aurais pu écrire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?php
function machin(&$var1,&$var2)
{
  $var1='+'.$var1;
  $var2='+'.$var2;
}
?>
Pour autoriser un nombre d'arguments variable, j'utiliserais plutôt la fonction func_get_args. Mais celle-ci ne fait que retourner un tableau des valeurs passées à la fonction, donc pas question de valeurs de retour par référence...

Voilà le problème. On pourrait évidement contourner l'obstacle, en passant tous les paramètres dans un tableau, mais cela ne convient guère. Je vous serai très reconnaissant si vous trouvez une solution à ce problème.

Merci en tout cas