Probleme avec une fonction PHP

Fermé
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 - Modifié par Chris 94 le 3/04/2013 à 14:34
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 - 3 avril 2013 à 16:58
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.

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.
A voir également:

2 réponses

Utilisateur anonyme
3 avril 2013 à 14:10
Que fais ta fonction vect_to_tableHTML?
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
3 avril 2013 à 15:12
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>';

0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
3 avril 2013 à 16:58
Parfait merciiii bcp oui tu as vu juste, la fct ne retourne rien je dois l'utiliser pour definir mon tableau ;-)
0