Probleme avec une fonction PHP
Lili_754
Messages postés
137
Statut
Membre
-
Lili_754 Messages postés 137 Statut Membre -
Lili_754 Messages postés 137 Statut Membre -
Bonjour,
Je cherche a écrire une fonction add_vect qui prend en paramètre un tableau PHP et une valeur numérique et modifie le tableau initial en ajoutant la valeur donnée à tous les éléments du tableau.
cela m'affiche: // le premier tableau
// 444444444 pour le second tableau hors je souhaite rajouter 4 pour chaque element du tableau :-(
Je cherche mais je ne vois tjr pas ou est mon erreur..
Merciii pour ceux qu'ils veulent bien me debeuguer.
Je cherche a écrire une fonction add_vect qui prend en paramètre un tableau PHP et une valeur numérique et modifie le tableau initial en ajoutant la valeur donnée à tous les éléments du tableau.
function add_vect($tab,$b){
echo vect_to_tableHTML($tab);
echo "<table border='1'>";
for($i=0; $i<count($tab); $i++){
echo "<tr> <td>".$tab[$i]+$b."</td></tr>";
}
echo "</table>";
}
$Scores= array(12, 19, -3, 5, 10, "abs",4,67,89);
echo add_vect($Scores,4);
cela m'affiche: // le premier tableau
// 444444444 pour le second tableau hors je souhaite rajouter 4 pour chaque element du tableau :-(
Je cherche mais je ne vois tjr pas ou est mon erreur..
Merciii pour ceux qu'ils veulent bien me debeuguer.
2 réponses
-
-
Salut,
1 - Il ne faut pas oublier les parenthèses, parce que apparemment, la concaténation est plus prioritaire que l'addition !echo "<tr> <td>".($tab[$i]+$b)."</td></tr>";
2 - Ta fonction ne retourne rien, alors pas la peine de faire "echo add_vect()".
Mais je te conseille de faire ainsi, pour un code plus propre !function add_vect(&$tab, $b){ foreach($tab AS &$val) { if(is_numeric($val)) $val += $b; } } //Ou ... function add_vect_1($tab, $b){ foreach($tab AS &$val) { if(is_numeric($val)) $val += $b; } return $tab; } $Scores = array(12, 19, -3, 5, 10, "abs", 4, 67, 89); add_vect($Scores, 4); //$Scores = add_vect_1($Scores, 4); echo vect_to_tableHTML($tab); echo '<table border="1">'; foreach($Scores AS $val) echo '<tr><td>'.$val.'</td></tr>'; echo '</table>';