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 :

[Tableaux] Exercice de débutant


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut [Tableaux] Exercice de débutant
    Bonjour,

    Je commence à apprendre le php et je bute déjà sur l'un des premiers exercices :

    Ecrire une fonction qui prend en paramètre un chaine de caractères et qui retourne la meme chaine avec un caractere sur deux en majuscule.

    Alors j'essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $abc = "salut tout le monde";
    $abc = strtoupper($abc);
    echo ("$abc")
    tout est en majuscule bien entendu, mais je vois pas du tout comment le faire pour une majuscule sur deux..

    Pouvez vous m'aider ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    va jeter un oeil du coté de substr. l'idée, ça va être de faire une boucle sur chaque caractère de ta chaine, avec un compteur que tu incrémentes à chaque fois. Si ton compteur%2 est à 0, tu ne fait pas d'opérations sur la lettre, et tu la concatene dans une autre variable. si ça vaut 1, tu passe en majuscule et tu concatènes
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut
    substr, j'ai lu que cela servait à retourner un fragment de la chaîne de caractères à partir de la position spécifée.
    Ils n'en parlent malheureusement pas dans le bouquin...

    Si je comprends bien, il faut que je lui demande de m'extraire un fragment de la chaîne sur deux que je mettrais en majuscule ?

    Désolé, j'ai beaucoup beaucoup de mal à comprendre..

  4. #4
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    pas de soucis, on a tous commencé un jour

    tu as parfaitement compris l'idée.
    Va jeter un oeil aux docss suivantes :

    Doc de substr
    Doc de strlen

    strlen va te servir comme condition dans ta boucle, pour ne pas aller trop loin.
    à l'aide du compteur et de substr, tu va pouvoir récupérer un caractère après l'autre dans ta chaine
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut
    Je n'arrive pas a faire fonctionner le script ! Y'a t il une erreur (enfin wi, il y en a forcément une LIGNE 20)



    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
    24
    25
    26
    $f = false;
    $str = "Salut tout le monde";
    $i = 0;
    $exo = NULL;
     
    while ($i < stlen($str))
     
    {
    	if ($f = false)
    		{
    		$exo = $exo.$str[$j];
    		$f = true;
    		}
     
    		else 
    		{
    		($str[$j] = strtoupper($str[$j])
    		$exo = $exo.$str[$j];   //LIGNE 20
    		$f = false;
    		}
     
    	$j++
     
    }
     
    echo $exo
    tu peux m'aider a comprendre ou est l'erreur ?

    Merci !

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Une chaîne peut être traitée comme un tableau. Donc, au plus simple pour moi :
    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
     
    <?php
    	$chaine = 'salut tout le monde';
     
    	$nb = strlen($chaine);
    	$i = 0;
    	 //-- $j permet de ne pas tenir compte des espaces ----------------
    	 //-- 0 commence la transformation au 2ème car., -1 au 1er --------
    	$j = -1;
    	while ($i < $nb)
    	{
    		if ($chaine[$i] != ' ')
    			$j ++;
    		if (! ($j % 2))
    			$chaine[$i] = strtoupper($chaine[$i]);
    		$i ++;
    	}
    	echo $chaine;
    ?>

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

Discussions similaires

  1. Exercices VBA (Débutant)
    Par bobinette33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/06/2010, 05h25
  2. Exercice pour débutant : afficher nombres de 0 à 9
    Par gadour14 dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 19/02/2009, 21h07
  3. Aide exercices Java débutant
    Par dalil777 dans le forum Général Java
    Réponses: 9
    Dernier message: 08/02/2008, 22h19
  4. Exercice de débutant: une fonction doit renvoyer 1 ou 0.
    Par Demonyak dans le forum Débuter
    Réponses: 8
    Dernier message: 02/12/2007, 16h11
  5. Exercices pour débutants : pointeurs
    Par neo214 dans le forum Débuter
    Réponses: 10
    Dernier message: 10/11/2007, 10h28

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