J'ai un tableau de noms que je voudrais convertir en variables. Ce sont des noms de tests générés à partir d'une base de données (donc si un nouveau test est ajouté, un nouvel index sera ajouté au tableau), nos tests sont mis à jour régulièrement donc je ne veux pas coder en dur mes variables, vouloir les générer dynamiquement.créer des variables PHP dynamiques à partir d'une base de données
J'ai essayé ce code:
$data = array();
foreach($tests as $v) {
$$v = ${};
array_push($data, $v);
}
Mon but est de créer les variables dynamiquement puis les ajouter à chaque instance d'un test étant prise, par exemple, si 6 personnes ont eu l'un des nos tests instantanés, la variable 'instant' aura la valeur 6. Suis-je sur la bonne voie? Merci!
***** ***** MISE A JOUR Im essayant de remplir un tableau morris.js en utilisant ces variables, tout fonctionne quand codé en dur comme ceci:
$pos = 0;
$neg = 0;
$pen = 0;
$cont = 0;
$misc = 0;
foreach ($data as $item) {
if ($item['result'] === 'Positive') {
$pos++;
} elseif ($item['result'] === 'Negative') {
$neg++;
} elseif ($item['result'] === 'Pending') {
$pen++;
} elseif ($item['result'] === 'Contact the Clinic') {
$cont++;
} else {
$misc++;
}
}
$res = array("Positive"=>$pos, "Negative"=>$neg, "Pending"=>$pen, "Contact the Clinic"=>$cont, "Misc"=>$misc);
$data = json_encode($res);
Cela me donne: Mais il est important de le remplir dynamiquement à partir de nos bases de données de sorte que si un nouveau jeu de test/résultat est ajouté, je n'ai pas besoin d'entrer et de mettre à jour manuellement le code, ce qui me donne des données sûr de créer dynamiquement des variables basées sur les données: /* Créer d les variables ynamic: */
$vars = array();
foreach($tests as $k => $v) {
array_push($vars, $v);
$$v = extract($vars);
/* Loop through each instance and create a count for all matching instances */
foreach($data as $item){
if($item['name'] === $k){
${$v}++;
}
}
}
me donne les étiquettes, mais sans valeur:
{"Positive","Negative","Pending","Contact the Clinic","Misc"}
Im utilise actuellement les acclamations CodeIgniter (dernière libération)
Est-ce votre code actuel ou est-ce un pseudo-code? – Script47
C'est le code que j'ai essayé, C'est tout ce que j'ai trouvé pour la plupart des fois les variables sont codées manuellement – Sam
Avez-vous vraiment besoin de variables séparées pour ceux-ci. Ne pourriez-vous pas simplement utiliser un tableau associatif ('$ data [$ v] = x;')? –