Bonjour à tous,
J'ai quelques petits soucis avec ma function.
Un copain ma créer une function pour mon site mais malheureusement ça ne fonctionne pas parfaitement et mon copain est parti en vacance cette semaine et j'ai pas trop le temps d'attendre ^^
Donc voilà je vous explique.
Voici ma function :
function stats_item($stat_item)
$explode_stats = explode(",", $stats_item); // on sépare chaque type de stats
$taille_explode_stats = count($explode_stats); // on compte pour le For
For ($taille = 0 ;$taille < $taille_explode_stats; $taille++) // Pour chaque type de stats on séparé les valeur
{
$explode_stats_item = explode("#", $explode_stats$taille]); // On sépare au niveau du # '0'] = type de stats '4'] = valeur
if ($explode_stats_item'0'] == "6f")
{
echo '<li><span> </span>+'.str_replace("0d0+", "", $explode_stats_item'4']).' PA</li>';
}
}
}
Pour tester j'ai fais un
<?php echo stats_item('76#1f#32#0#1d20+30')
Et le résultat :
+1d20+30 Force
Et le résultat que je voulais est
+ 20 à 30 Force
J'ai très bien compris que ça buguais au niveau de la valeur '4'] qui elle vaut dans ce cas 1d20+30
Mais je n'arrive pas à séparer pour avoir le résultat attendu.
Pour le 76#1f#32#0#1d20+30 ce qui m'interesse en faite c'est juste le 76 qui m'indique qu'elle type de stats sais et le 20+30 pour connaître le jet mini et le jet maxi de mon équipement.
Vous allez me dire pour écrire d'autre truc alors, et bien c'est pas moi qui l'ai écrit et si je devais modifié j'aurais plus de 50 000 ligne à modifié dans ma bdd, donc non merci ;)
Si quelqu'un pourrait m'aider.
Je vous remercie d'avance.
Cordialement,
J'ai résolu mon prroblème j'ai refais une function là voici :
function stats_item($stats_item) // fonction pour récup les stats des items
{
$image_stats = "".WEBROOT."theme/images/stats/";
$explode_stats = explode(",", $stats_item); // on sépare chaque type de stats
$taille_explode_stats = count($explode_stats); // on compte pour le For
For ($taille = 0 ;$taille < $taille_explode_stats; $taille++) // Pour chaque type de stats on séparé les valeur
{
$explode_stats_item = explode("#", $explode_stats$taille]); // On sépare au niveau du # '0'] = type de stats '4'] = valeur
if ($explode_stats_item'0'] == "6f")
{
$in = array(
'1d',
'+'
);
$out = array(
'',
','
);
$jet = ''.str_replace($in, $out, $explode_stats_item'4']).'';
$explode_jet = explode(",", $jet);
$jet_mini = $explode_jet[1] + 1;
$jet_maxi = $explode_jet[1] + $explode_jet[0];
if ($explode_jet[0] == 0) {
echo '<li><img src="'.$image_stats.'pa.png"> '.$jet_maxi.' PA</li>';
}else {
echo '<li><img src="'.$image_stats.'pa.png"> '.$jet_mini.' à '.$jet_maxi.' PA</li>';
}
}
}
}
J'ai testé ta fonction en local. La fonction que tu as donné est celle que tu utilises dans ton code?
Car il y a quelques erreurs et quand on les corriges, ça renvoi absolument pas ton résultat.