supprimer les derniers caractères d'une boucle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : supprimer les derniers caractères d'une boucle

par nelumbo » 29 juil. 2009, 20:34

Merci, je devrai pouvoir trouver mon bonheur avec vos solutions. :D

++

par micetf » 29 juil. 2009, 19:50

Personnellement,
j'aime bien résoudre ce problème de cette manière :

Code : Tout sélectionner

// Je mets tout dans un tableau $titres = array(); for ($i=0;$i<6;$i++) { $titres[] = "titre $i"; } // Et un petit implode pour mettre les séparateurs qui vont bien echo implode(' - ',$titres);
Fred

par fab » 29 juil. 2009, 19:38

Procédons méthodiquement :)

A la fin de ta chaine tu as deux caractères à supprimer, un train d'union ainsi qu'un espace.

Pour l'espace tu peux regarder de la fonction trim ( http://fr.php.net/trim ) ou de ses dérivées comme ltrim ou rtrim ( pour left et right ).

Pour le train d'union en fait tu veux exclure le dernier caractère de la chaine ( après le passage par la case trim ), pour celà il existe la fonction substr ( http://fr.php.net/substr )

Avant que j'oublie le petit pré-requis est de mettre ta chaine dans une variable :)

Donc ça donnerai quelque chose du style

<?php 
$i=1;
$chaine = '';

while($i<=6) $chaine .= "titre $i - ";

echo substr(trim($chaine),0,-1);
?>

par Superpilou » 29 juil. 2009, 19:32

Je pense que ca peut marcher.
<?php

$i = 1; 

while ($i <= 6) 
   {
     if ($i!='6')
       {
          echo "titre $i - ";
       }
    else
       {
           echo "titre $i";
        }
   $i++; 
    }

?> 

supprimer les derniers caractères d'une boucle

par nelumbo » 29 juil. 2009, 19:27

Bonjour,

Je souhaite supprimer le dernier "-" de ma boucle mais je n'y arrive pas. Y'a bien la fonction substr qui fonctionne sur une chaine, mais dans la boucle...

Code : Tout sélectionner

titre 1 - titre 2 - titre 3 - titre 4 - titre 5 - titre 6 -
J'aimerai obtenir:

Code : Tout sélectionner

titre 1 - titre 2 - titre 3 - titre 4 - titre 5 - titre 6
<?php

$i = 1; 

while ($i <= 6) 
{
echo "titre $i - ";
$i++; 
}

?>
Un petit indice ?