[RESOLU] Return Array Function - Retourner les valeurs d'un tableau par return d'une fonction

Eléphanteau du PHP | 22 Messages

03 juil. 2019, 17:45

Bonjour à tous,
Je cherche à retourner (return) les valeurs d'un tableau d'une fonction. $tirageSort[]
(Le code fonctionne sans fonction). Comment peut-on retourner les 52 valeurs contenues de mon tableau ?
Merci à tous.
   function nombreCarte()
   {

   	$nombreCarte=52;

    $numbers = range(1, $nombreCarte);
	shuffle($numbers);
	foreach ($numbers as $number) 
	$tirageSort[] = $number;

// return $number;
// return $tirageSort[];

   }


Mammouth du PHP | 2703 Messages

03 juil. 2019, 18:05

return $tirageSort;

Eléphanteau du PHP | 22 Messages

03 juil. 2019, 20:12

Merci de ta réponse.
Non ça ne fonctionne pas avec return $tirageSort; dans la fonction. Il doit avoir un manquement dans la fonction.
Il m'indique que tirageSort n'est pas défini : Undefined variable: tirageSort
Sans fonction cela fonctionne.

Fonctionne
$nombreCarte=52;
$numbers = range(1, $nombreCarte);
shuffle($numbers);
foreach ($numbers as $number) 
$tirageSort[] = $number;

echo $tirageSort[0];
Fonctionne pas
function nombreCarte()
 	{
   	$nombreCarte=52;

    $numbers = range(1, $nombreCarte);
	shuffle($numbers);
	foreach ($numbers as $number) 
	$tirageSort[] = $number;
	echo $tirageSort[0];
	return $number;
	return $tirageSort;
   }
 
nombreCarte();
echo $tirageSort[0];

	?>

Mammouth du PHP | 1967 Messages

04 juil. 2019, 08:02

il faut définir dans quelles variable tu veux récupèrer le retour de ta fonction
function nombreCarte()
 	{
   	$nombreCarte=52;

    $numbers = range(1, $nombreCarte);
  shuffle($numbers);
  return $numbers;
   }
 
$tiragesart = nombreCarte();
echo $tirageSort[0];

  ?>
j'ai retiré le code inutile aussi.
Modifié en dernier par Spols le 04 juil. 2019, 10:38, modifié 1 fois.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 22 Messages

04 juil. 2019, 09:40

Merci Spols, ça fonctionne ! Je dois apprendre à mieux penser mes fonctions.
Mon foreach n'est pas utile si j'ai bien compris, je savais pas que shuffle faisait l'equivalent.
Merci beaucoup.
PS: return $numbers avec s pour ceux qui veulent s'en inspirer.

Mammouth du PHP | 1967 Messages

04 juil. 2019, 10:38

shuffle ne fait pas vraiement l'équivalent de ton foreach, mais le format que tu veux obtenir est identique à celui que tu a créer avant le shuffle avec range donc pas besoin de passer par un tableuax supplèmentaire.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 22 Messages

04 juil. 2019, 10:56

Donc c'est le range qui crée le tableau et shuffle le mélange c'est bien ça ?

shuffle ne fait pas vraiement l'équivalent de ton foreach, mais le format que tu veux obtenir est identique à celui que tu a créer avant le shuffle avec range donc pas besoin de passer par un tableuax supplèmentaire.

Mammouth du PHP | 1967 Messages

04 juil. 2019, 13:38

oui c'est cela
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 22 Messages

04 juil. 2019, 14:16

Merci ;)