IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Rechercher la chaine la plus longue dans un tableau


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 1
    Points : 0
    Points
    0
    Par défaut Rechercher la chaine la plus longue dans un tableau
    Bonjour j'ai une devoir de prog a faire et je suis bloqu" dessus depuis plusieur heures. Je précise j'ai commencer php hier.

    Exercice 2 - Fais le choix de Clément
    nom du fichier à rendre : lenolife.php

    Vous devez écrire un script PHP qui :

    - déclare une fonction onlyTheBest qui :
    - prend en paramètre un tableau nommé adata
    - affiche la string la plus longue parmi les valeurs contenues dans adata, et ce en lettres capitales, suivie de deux retours à la ligne
    - appelle la fonction onlyTheBest, une fois pour chacun des tableaux ci-après, en lui passant à chaque fois le tableau voulu en paramètre

    Tableaux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $tab0 = array('Goodbye', 'Dennis');
     
    $tab1 = array('U', 'DUN', 'GOOFED');
     
    $tab2 = array('name'=>'Glenn','first_name'=>'kenny','pets'=>'dusty','crime'=>'animal abuse','achievement'=>'goofed');
     
    $tab3 = array('bananas', 'apple','fish'=>'sharktopus', 'lemon', 'pineapple', 'pear', 'cherry');
     
    $tab4 = array('x-men', 'spiderman','great sayaman','iron man','superman', 'batman','wolverine', 'hulk');

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ce que tu dois faire, c'est d'abord écrire l'algorithme qui te permet d'obtenir ce que tu veux, et ensuite seulement le coder.

    Quelques fonctions utiles :
    Pour déterminer la longueur d'une chaine : strlen.
    Pour parcourir un tableau : foreach.
    Pour déterminer le maximum de plusieurs variables : max
    Pour écrire une chaine en majuscules : mb_strtoupper

    Tutos à lire :
    IV-1. Les tableaux simples et V-2. Les fonctions
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éclairé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2014
    Messages : 417
    Points : 834
    Points
    834
    Par défaut
    Citation Envoyé par MrZimoX Voir le message
    - affiche la string la plus longue parmi les valeurs contenues dans adata
    Un grand classique des exercices en prog, ou plutôt en algo.

    Il faut parcourir le tableau bien sûr, et créer une variable dont la valeur est nulle

    Lors du parcours du tableau, si la valeur de l'élément est supérieure à celle de la variable créée, alors cette variable prend la valeur de l'élément, sinon elle reste inchangée.

    Voilà. Le reste n'est, j'imagine, qu'application des concepts étudiés.

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    une idée de réponse pour (beaucoup) plus tard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function onlyTheBest(array $p) {
        array_walk($p, function($v, $k) use (&$x, &$r) { [$x, $r] = ($y = strlen($v)) > $x ? [$y, $v] : [$x, $r]; });
        return strtoupper($r);
    }

Discussions similaires

  1. [XL-2013] Macro pour rechercher la donnée la plus récente dans un tableau
    Par Julie.lemoine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2016, 15h43
  2. [XL-2010] Trouver la chaine de caractères la plus longue dans une selection
    Par skaz26 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2013, 15h55
  3. Comment trouver la chaine la plus longue?
    Par Mydriaze dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 02/08/2007, 12h19
  4. Rechercher la date la plus récente dans une BD
    Par kurkaine dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/07/2006, 19h10
  5. Recherche du point le plus près dans un tableau de points (x,y,z)
    Par Vol dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 02/06/2006, 22h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo