Pb fonction et return [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
6 novembre 2010
-
Messages postés
18
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
6 novembre 2010
-
Bonjour,

Je n'arrive pas à modifier la valeur d'un tableau dans une fonction :

// Initialisation
$joueur1 = array (
				  'F' => 8,
				  'E' => 9,
				  'A' => 10,
				  'M' => 11,
				  'D' => 5,
				  'perf' => 0,
				  'vie' => 5000);

$joueur2 = array (
				  'F' => 10,
				  'E' => 11,
				  'A' => 12,
				  'M' => 13,
				  'D' => 14,
				  'perf' => 0,
				  'vie' => 5000);

// Fonctions
function calcul_perf($fir, $adv) {
	$fir['perf'] = '8';
	return ($fir);
}

calcul_perf($joueur1, $joueur2);
print_r($joueur1);


J'obtiens ça :
Array ( [F] => 8 [E] => 9 [A] => 10 [M] => 11 [D] => 5 [perf] => 0 [vie] => 5000 )

Au lieu de ça :
Array ( [F] => 8 [E] => 9 [A] => 10 [M] => 11 [D] => 5 [perf] => 8 [vie] => 5000 )

Merci de votre aide.

2 réponses

Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
898
salut,

il faut soit passer ton tableau par référence (le "&"), soit assigné la nouvelle valeur à ta variable.
function calcul_perf(&$fir, $adv) {
	$fir['perf'] = '8';
	return ($fir);
}
calcul_perf($joueur1, $joueur2);
print_r($joueur1);

OU :
function calcul_perf($fir, $adv) {
	$fir['perf'] = '8';
	return ($fir);
}
$joueur1 = calcul_perf($joueur1, $joueur2);
print_r($joueur1);
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
18
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
6 novembre 2010
2
Merci beaucoup pour ton aide.
Ca y est le problème est résolu grâce à toi.