Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1405 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  passage de l'intérieur d'un tableau par référence dans une fonction ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

passage de l'intérieur d'un tableau par référence dans une fonction ?

n°1709813
art_dupond
je suis neuneu... oui oui !!
Posté le 30-03-2008 à 00:04:33  profilanswer
 

youp,
 
 
je ne sais pas si je m'y prends mal ou quoi mais je voudrais passer chaque ligne d'un tableau par référence dans une fonction en ne renseignant que le tableau.
 
En fait, je récupère les donnes d'une DB via :  
 

Code :
  1. $stmt = $mysqli->prepare($query);
  2. $stmt->execute();
  3. $stmt->bind_result($col1,$col2,...)


 
Je ne connais pas à l'avance le nombre de colonnes, mais j'ai un tableau contenant le nom de ces colonnes :

$fields['titre'], $fields['message']...


Donc pour passer mes paramètres à $stmt->bind_result(), j'utilise call_user_func_array() comme ceci (enfin j'aimerais le faire comme ça) :

Code :
  1. call_user_func_array(array($stmt,'bind_result'),$fields) // $stmt->bind_result($fields)


et j'aimerais récupérer les données dans $fields.
 
Mais vous l'aurez deviné, ça ne marche pas :(
 
J'ai essayé avec aussi peu de succès :  

Code :
  1. call_user_func_array(array($stmt,'bind_result'),&$fields) // $stmt->bind_result($fields)


 
Ce qui marche, c'est :

Code :
  1. call_user_func_array(array($stmt,'bind_result'), array(&$fields['titre'],&$fields['message']));


 
Mais du coup, j'en reviens au premier problème qui est que je ne connais pas à l'avance le nombre de champs (ni leurs noms) :(
 
 
Quelqu'un aurait une solution ?
 
 
:jap:


Message édité par art_dupond le 30-03-2008 à 00:04:55

---------------
oui oui
mood
Publicité
Posté le 30-03-2008 à 00:04:33  profilanswer
 

n°1709863
art_dupond
je suis neuneu... oui oui !!
Posté le 30-03-2008 à 13:20:08  profilanswer
 

je dois passer par eval() ?

 

edit: ok c'est bon avec eval(), mais j'aimerais quand même savoir si c'est possible de faire autrement :)


Message édité par art_dupond le 30-03-2008 à 13:56:53

---------------
oui oui
n°1709869
skeye
Posté le 30-03-2008 à 14:15:02  profilanswer
 

J'ai pas trouvé d'autre solution non plus, pour le même genre de problème...dans ce cas il semble impossible d'utiliser les cases d'un tableau plutôt que des variables "standalone".
D'ailleurs pourquoi tu passes un tableau en paramètre, ce n'est pas censé être une liste de variables? Php accepte ça?


---------------
Can't buy what I want because it's free -
n°1709941
art_dupond
je suis neuneu... oui oui !!
Posté le 30-03-2008 à 19:54:31  profilanswer
 

oui, c'est call_user_func() qui prend une liste de variables.
call_user_func_array(), lui, prend un tableau contenant les arguments.
 
En fait ça marcherait si je ne devais pas passer les variables par référence.
 

Code :
  1. function crumble($pomme,$cassonade,$farine,$beure)
  2. {
  3.     return $pomme+$cassonade+$farine+$beure;
  4. }
  5. $quantites = array(6,250,150,100);
  6. $total = call_user_func_array('crumble',$quantites);


 
mais bon, ça marche bien avec eval, même si c'est un peu plus chippo (il faut créer une chaine contenant la liste des paramètres, au lieu de passer simplement le tableau)
 
 
edit: j'ai un doute maintenant, je ne sais plus si je peux avoir une valeur de retour ou s'il donne True ou False...
ok :

Citation :

Retourne le résultat de la fonction, ou FALSE si une erreur survient.


Message édité par art_dupond le 30-03-2008 à 19:59:08

---------------
oui oui

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  passage de l'intérieur d'un tableau par référence dans une fonction ?

 

Sujets relatifs
[PHP] Petit soucis de tableau d'un objetFonction pour convertir chaine ASCII en caracteres
comment faire un tableau en VHDL ?fonction matcher connue en PHP mais pas en JAVA
Word et tableau dynamiqueLes fichiers dans une fonction
erreur 3664 pour une requete sql avec la fonction openrecordset[JS] Cacher les lignes d'un tableau
tableau et couleurTableau à dimension variable
Plus de sujets relatifs à : passage de l'intérieur d'un tableau par référence dans une fonction ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR