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 :

code japonais en PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 15
    Points : 9
    Points
    9
    Par défaut code japonais en PHP
    Bonjour,

    Est-ce que quelqu'un saurait m'aider pour coder ceci :

    A partir d'un mot ou d'une phrase, le rendu doit être le "code japonais" :
    Exemple : à partir de 'programmation web', on doit obtenir : (sur 3 lignes, en colonnes)
    p g m t n b
    r r m i w           
    o a a o e

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il suffit de parcourir ton mot lettre par lettre et de stocker les lettre dans un tableau avec un index qui va de 0 à 2 et qui recommence

    p -> $x[0][]
    r -> $x[1][]
    o -> $x[2][]
    g -> $x[0][]
    r -> $x[1][]
    etc.

    Pour l'affichage il n'y aura plus qu'a afficher le contenu $x[0] $x[1] puis $x[2]
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    voilà un bon exemple d'utilisation de "modulo".

  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,

    il ne faut pas sous estimer la puissance des fonctions tableau de PHP :
    Sans modulo et avec un poil de magie cela donnerait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $x = str_split(str_replace(' ', '', 'programmation web'));
    $y = array_chunk($x, 3);
    array_unshift($y, null);
    $z = call_user_func_array('array_map', $y);
    echo '<pre>', implode('<br>', array_map(function($p) { return implode(' ', $p); }, $z));
    Bon je te l'accorde c'est péchu à souhait mais bon, c'est faisable sans manipuler aucun index.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    p g m t n b
    r r m i w 
    o a a o e

  5. #5
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    ...
    J'adore ! Sans doute un mauvais point pour la maintenance, mais un excellent point pour le style !

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est tout rawsrc ça, il a du style mais on n'arrive pas à la maintenir
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Invité
    Invité(e)
    Par défaut
    "Il y a plus d'un âne qui s'appelle Martin"
    ... mais ce Martin là est loin d'en être un

    Sa connaissance de l'array me laisse sur le...
    Moi qui connais essentiellement l'array des...

    (auto-censure)

  8. #8
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $tab = str_split(str_replace(' ', '', 'programmation web'));
     
    for($i = 3; $i >0; $i--) {
            foreach($tab as $key => $elem) {
                    if (($key+$i) % 3=== 0) {
                            echo $elem." ";
                    }
            }
            echo "\n";
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    p g m t n b
    r r m i w
    o a a o e

    je suis pas sur que ce soir pas plus maintenable, mais c'est certainement moins performant. surement moyen de le faire en une seule boucle. (à la base j'était parti la dessus)

  9. #9
    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
    @Aurélien

    Une méthode basique sans aucune magie, avec une seule boucle et sans tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    $str  = str_replace(' ', '', 'programmation web');
    $len  = strlen($str);
    $step = 3;
    $i    = 0;
    $s    = 0;
    $read = 0;
     
    echo '<pre>';
     
    while (++$read <= $len)
    {
        echo $str[$i];
     
        if (($i += $step) < $len)
        {
            echo ' ';
        }
        else
        {
            echo '<br>';
            $i = ++$s;
        }
    }

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

Discussions similaires

  1. [XML] Transformer un code XML en PHP
    Par leila2006 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/05/2006, 19h51
  2. [PHP-JS] Intégration code Javascript dans PHP
    Par tilou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/04/2006, 16h26
  3. Réponses: 11
    Dernier message: 30/01/2006, 17h26
  4. integration du code xsl dans php
    Par ANISSS dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/01/2006, 16h29
  5. [SGBD] japonais vs php/mysql
    Par lyhana8 dans le forum SQL Procédural
    Réponses: 16
    Dernier message: 19/01/2006, 22h08

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