Problème incrémentation décrémentation alpha

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

edouard8053
Nouveau WRInaute
 
Messages: 8
Inscription: Ven Aoû 15, 2008 4:50

Problème incrémentation décrémentation alpha

Message le Lun Aoû 18, 2008 20:15

Bonjour,

J'ai un petit problème, j'ai voulu incrémenter une chaine de caractère en php et j'ai utilisé la syntaxe suivante :

$mot = "mot";
echo ++$mot;

Et ça m'affiche "mou" donc l'incrémentation alpha fonctionne

Par contre j'ai voulu faire la chose suivante pour décrémenter une chaine de caractère :
echo --$mot;

mais ça ne fonctionne pas.

Est ce que vous connaissez un moyen d'arriver à faire une décrémentation de chaine de caractère ?

Merci pour votre aide


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1330
Inscription: Jeu Mai 27, 2004 13:04

Message le Mar Aoû 19, 2008 9:18

Décrémenter une chaine de caractère oO

++ est toléré mais -- non, a moins de travailler sur les valeur HEXA et faire sa propre fonction tu n'a pas de solutions miracles.
Le mieux étant de passer via des tableaux.

C'est pour faire quoi cette décrémentation incrémentation?

Info là : http://www.phpfrance.com/forums/voir_reponse-259162.php


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3311
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Aoû 19, 2008 14:41



ya pas la solution sur ton lien ..

ca m'a amuser :

Code: Tout sélectionner
<?php

$tab_alphabet = array("a","b","c","d","e","f","g","h","i","j","k","m","n","o",
                      "p","q","r","s","t","u","v","ww","x","y","z");
$mot = "mot";
$size = strlen($mot);
$lettre = $mot[$size-1];
// exception
if ($lettre=='a')
echo substr($mot, 0, -1).'z';
elseif (in_array ($lettre,$tab_alphabet)) {
$key = array_search($lettre, $tab_alphabet);
echo substr($mot, 0, -1).$tab_alphabet[$key-1];
}
?>


affiche -->> "mos"

++
KOogar


RiPSO
WRInaute accro
WRInaute accro
 
Messages: 1459
Inscription: Jeu Oct 04, 2007 23:40

Message le Dim Aoû 31, 2008 0:53

@KOogar: Il manque un truc a ta fonction je crois. A première vue quand elle décrémente "a" ça donne "z" mais ça ne décrémente pas le caractère n-1... Et tu as mis 2x "w" :)

@edouard8053: Euh... tu veux du simple ou de l'usine à gaz?? :mrgreen:

Voila ma super fonction de gros bourrin pas optimisée du tout. Je tiens a préciser que je ne comprend toujours pas l'intérêt d'une telle fonction mais bon... tout le monde voit midi sur sa montre...

1/Eviter de lancer le script (c'est une boucle) avec un mot de + de 4 lettres :mrgreen: (ne pas essayer avec "google" par exemple, j'ai déjà testé et c'est une mauvaise idée :mrgreen:
2/ la fonction ne prend en compte que les caractères alphabétiques en minuscules.


Code: Tout sélectionner
<?

function dec_string($txt,$offset) {
   $swp=ord(substr($txt,$offset,1));
   if ($swp>122) $swp=122;
   if ($swp<=97) {
      if ($offset>0) {
            $swp2=substr($txt,0,$offset).chr(122);
            if ($offset<(strlen($txt)-1)) $swp2.=substr($txt,$offset-strlen($txt)+1);
            $ret=dec_string($swp2,$offset-1);
      } else {
         if ($swp>97) {
            $ret=substr($txt,0,$offset).chr($swp-1);
            if ($offset<(strlen($txt)-1)) $ret.=substr($txt,$offset-strlen($txt)+1);
         } else {
            $ret=$txt;
         }
      }
   } else {
      $ret=substr($txt,0,$offset).chr($swp-1);
      if ($offset<(strlen($txt)-1)) $ret.=substr($txt,$offset-strlen($txt)+1);
   }
   return $ret;
}

$letexte="sos";
$endtexte="";
for ($i=0;$i<strlen($letexte);$i++) { $endtexte.="a"; }
echo $letexte." => ".$endtexte."<br/>";

while ($letexte<>$endtexte) {
   $letexte=dec_string($letexte,strlen($letexte)-1);
   echo $letexte."<br/>";
}

?>


Résultat :

sos => aaa
sor
soq
sop
soo
son
som
sol
sok
soj
soi
soh
sog
sof
soe
sod
soc
sob
soa
snz
sny
snx
snw
snv...
...
...


Dis moi au moins a quoi ca va te servir stp que je n'ai plus l'impression que j'ai perdu un quart d'heure de ma vie a sortir un code bien crado comme celui là :lol:


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité