Salut,
J'ai des chaine qui se présentent ainsi:
1.1 (référence principale)
1.1.1 (sous référence)
1.1.2
...
1.1.12
Ce que que je veux, c'est incrémenter le nombre des sous références qui se situe à la position du dernier nombre de la référence principale
(dans mon cas, remplacer le 1 de la seconde position par 2)
Ce que je fais actuellement c'est ça:
Colorez votre code PHP sur les forums grâce à Developpez.com<?php
$paramRef = '1.1'; // Référence principale
$stringReference = '1.1.12'; // Sous-référence (exemple)
$arrayRefs = explode('.', $stringReference); // Récupération des nombres
$intPoints = substr_count($paramRef, '.'); // Nombre de points (pas pratique
$stringUpdatedRef = ''; // Initialisation
foreach($arrayRefs AS $intKey => $intRef) {
   #On regarde ici si la clé n'est pas égal au nombre à incrémenter
   #donc (longueur chaine principale) - (nb de points) - 1
   # (-1 car le array comment à 0)
   if ($intKey != (strlen($paramRef) - $intPoints - 1))
      $stringUpdatedRef .= $intRef.'.';
   else
      $stringUpdatedRef .= ($intRef + 1).'.';
}
$stringUpdatedRef = substr($stringUpdatedRef, 0, strlen($stringUpdatedRef)-1); // Supression du point final
?>
J'espère que vous comprenez. En tout cas je trouve ça compliqué... Je suis presque sur qu'il y a une autre solution (notamment avec des strpos(), strstr()...) L'ennui c'est que je ne vois pas comment faire.
Si quelqu'un a une idée, merci.
Partager