variable plusieurs valeurs

Eléphanteau du PHP | 14 Messages

11 déc. 2013, 14:11

Bonjour,
je cherche le moyen d'attribuer une valeur à une variable, cette valeur provient d'une chaine
$chaine_a_trier = '(Franck,4)(Thierry,2)(Martin,3)';
function je_trie_ma_valeur($chaine_a_trier){
$mavar_ = '$mavar_';
$limit = substr_count($chaine_a_trier, '(');
for($i=1; $i<=$limit; $i++){
echo '<code>'.$mavar_.$i.'</code><br/>';
}
echo $chaine_a_trier;
}
echo je_trie_ma_valeur($chaine_a_trier);
dans l 'exemple, le résultat serait
$mavar_1 = 'Franck,4';
$mavar_2 = 'Thierry,2';
$mavar_3 = 'Martin,3';
vous avez surement une idée?
merci ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

11 déc. 2013, 23:07

salut,

les variables dynamique c'est le mal, et ça devient vite le merdier.

pourquoi ne pas utiliser un tableau ?
tu peux utiliser la fonction explode délimiteur )( (pense à virer le premier et dernier caractère avant afin d'avoir des données propre.

ensuite la fonction sort



@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 14 Messages

20 déc. 2013, 10:38

bonjour,
j'opte pour un champ perso par utilisateur, ce sera plus facile à gérer à la saisie des résultats
<?php
$chp1 = 'Zorro, 3, 123456, Gu';
$chp2 = 'Pierre, 3, 456123, CgU';
$data1 = explode(',',$chp1);
$data2 = explode(',',$chp2);
$multiArray = Array(
    Array("pts" => $data1[1], "act_id" => $data1[2], "name" => $data1[0],"jeu" => $data1[3]),
    Array("pts" => $data2[1], "act_id" => $data2[2], "name" => $data2[0],"jeu" => $data2[3]));
$tmp = Array();
foreach($multiArray as &$ma)
    $tmp[] = &$ma["pts"]; // c est l id qui crée le tri
array_multisort($tmp, $multiArray);
    $misenpage = '<table border="1" width="50%"><tr><td>NOM</td><td>Points</td><td>Jeu</td><td>Act</td></tr>';
foreach($multiArray as &$ma)
    $misenpage .= '<tr><td>'.$ma["name"].'</td><td>'.$ma["pts"].'</td><td>'.$ma["jeu"].'</td><td>'.$ma["act_id"].'</td></tr>';
    $misenpage .= '</table>';
    echo $misenpage;
?>
je vais juste vérifié si un champ perso existe ou pas, si oui il est dans le tri si non, il n'y est pas.
si vous avez des conseils en plus je suis preneur :)