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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Découper string sans perdre la fin


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Découper string sans perdre la fin
    Bonjour,

    Je travail sur un petit script php qui a pour objectif de prendre une variable string, la découper en 3, puis me retourner 3 variables : début, milieu, fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $dmf = array();
    $phrase = 'Une phrase plus ou moins longue';
    //explose phrase pour nb mot
    $morceau = explode(" ", $phrase);
    //compte nb mot
    $cpt = count($morceau);
    //division nb mots par 3 afin d'avoir la taille de chacun de mes morceau
    $morc = $cpt / 3 ;
    //division de mon tableau en 3
    $dmf = array_chunk($morceau, $morc);
    Le problème, c'est que souvent, je perds la fin.

    Vous allez me dire, je pense : "c'est logique, si je divises en 3, tu vas perdre ce qu'il y a en trop."

    Est ce que vous connaissez une meilleure alternative ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    je n'ai pas compris le problème.
    dans l'exemple de code qui vous avez indiquez, tous les mots de la phrase initiale sont là donc il n'y a rien de perdu.

  3. #3
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Hello,

    à mon avis le souci provient de la division par 3 qui retourne par souvent des entiers.

    Regarde l'exemple ici : http://php.net/manual/fr/function.array-chunk.php#75022

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos réponses.

    dans l'exemple de code qui vous avez indiquez, tous les mots de la phrase initiale sont là donc il n'y a rien de perdu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $phrase = 'Une phrase ennuyante plus ou moins longue';
    Là ça ne marche pas ^^

    Hello,

    à mon avis le souci provient de la division par 3 qui retourne par souvent des entiers.

    Regarde l'exemple ici : http://php.net/manual/fr/function.array-chunk.php#75022
    oui c'est vrai, du coup il omet un mot selon si la phrase contient un nombre pair ou impair.

    A part coder quelque chose de "long", existe t'il, à votre connaissance, une fonction qui fais le job ? cad même si impair, remplir le dernier tableau avec tous les mots ?

    Je continue à chercher de mon côté.

    Merci

  5. #5
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Oui, tu arrondie à l'unité supérieur avec ceil() (http://php.net/manual/fr/function.ceil.php)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $morc = ceil($cpt / 3);
    Comme ça tu aura tous les mots, et seul la fin sera plus courte.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#][debutant] tableau String sans donner la taille ?
    Par Sylk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/11/2005, 20h42
  2. [Rafraichir] Rafraichir une page sans perdre mes champs
    Par ozzmax dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/11/2005, 17h54
  3. [Système] Lancer un script sans attendre sa fin ?
    Par parisien dans le forum Langage
    Réponses: 9
    Dernier message: 03/11/2005, 22h09
  4. [Système] Lancer un executable sans attendre la fin
    Par raptor70 dans le forum Langage
    Réponses: 1
    Dernier message: 27/10/2005, 14h25
  5. [Dos] Lancer une commande dos sans attendre la fin
    Par MrEddy dans le forum Windows
    Réponses: 4
    Dernier message: 09/06/2005, 17h38

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