fonction contenant If...else affichant 3 tableau

Bingo
Invité n'ayant pas de compte PHPfrance

08 avr. 2011, 00:25

Bonjour codeurs,

Je dois faire un exercice dans mon cour PHP. Je crois avoir presque tout, cependant il semble avoir une ligne de commande manquante car seulement le premier tableau est afficher. Pour vous mettre en contexte, voici les instructions de ce que je dois realiser :

Créer un fichier nommé exercicePratique2.php dans lequel vous allez créer une fonction nommée fusion_trie($tableau1, $tableau2) prenant deux tableaux en paramètre et qui retourne un tableau. Le rôle de cette fonction est de fusionner ensemble deux tableaux ainsi que de trier ce tableau résultant. Vous devez vérifier que chaque argument de la fonction soit un tableau avant de faire quoi que ce soit. Si un des arguments n'est pas un tableau, affichez un message d'erreur à l'écran. Je vous suggère d'utiliser les fonctions de tableau suivantes pour cet exercice: sort(), array_merge() ainsi que is_array()

Le tableau doit ressembler a ceci :

Voici le premier tableau
[0] - 1
[1] - 5
[2] - 2
Voici le deuxième tableau
[0] - 4
[1] - 0
[2] - 10
Voici le résultat des tableaux fusionnés et triés
[0] - 0
[1] - 1
[2] - 2
[3] - 4
[4] - 5
[5] - 10



//Ce que j'ai coder jusqu'a maintenant :

Code : Tout sélectionner

<html> <head> <title>Exercice 2</title> </head> <?php $tableau1=array("jonathan","alexandre","mathieu"); $tableau2=array('marc','raymond','louis'); function fusion_trie($t1,$t2) { if (is_array($t1)) { echo "<h3>Tableau 1</h3>"; return $t1; } else { echo 'Les deux paramètres doivent être des tableaux'; return false; } if (is_array($t2)) { echo "<h3>Tableau 2</h3>"; return $t2; } else { echo 'Les deux paramètres doivent être des tableaux'; return false; } if (is_array($t1) && is_array($t2)) { $tUni = array_merge($t1,$t2); sort ($tUni); return $tUni; } else { echo 'Les deux paramètres doivent être des tableaux'; return false; } } print_r(fusion_trie($tableau1,$tableau2)); ?> <body> </body> </html>

Eléphant du PHP | 241 Messages

08 avr. 2011, 01:23

Bonsoir,
si tu es la même personne que Jon1988, évite de spam des nouveaux topic de partout si c'est toujours en rapport avec le même exercice stp (plus pratique pour voir la progression de ton exercice par exemple :wink:), mais si tu n'es pas Jon1988 (ce qui me parait assez peu probable :D) j'en suis désolé !

Alors, pour ton exercice, au lieu de faire plusieurs if qui se suivent, pourquoi ne pas faire plusieurs if imbriqués ?
Par exemple tu test si le premier paramètre est un tableau, si oui, alors tu vérifie à ce moment la si le second est aussi un tableau, si le second est alors lui aussi un tableau, tu affiche les 2 tableaux puis le tableau trié, sinon tu affiche un message d'erreur...

Il me semble que tu as mal compris le système de return des fonctions !
Si tu veux simplement afficher les tableaux utilise des print_r à l'intérieur de la fonction.