cs_alexius
Messages postés20Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention19 juillet 2007
-
2 mai 2006 à 20:03
cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 août 2007
-
5 mai 2006 à 13:55
Bonjours à tous, dans le cadre d'une application que je réalise je suis confronté a séparer des donner concaténan dans des tableau différents, je vous laisse le code afin que compreniez mieu...
Mon problème: je n'arrive pas à decouper correctement la chaine et a répartir les valeurs coreectement, les $addinquerry servent dans des requète plu loin dans le programe..
pour info je recupère une chaîne qui peut avoir cette forme:
C_1/C_2/P_1/P_56/P_8/R_2/R5/R_19
//traitement multicritère de la chaine zone concaténé
$positionement=0;//position de la premier caractère, au depart 0 debut de la chaine)
$nb_zone=0;//Nombre d'element dans la chaine, au depart il n'y en a aucun
for($i=0;$i<=strlen($str);$i++)
{/*on parcours la chaine(volontairement une lettre apres le dernier carctere pour gerer le dernier mot dans la boucle)*/
if(substr($str,$i,1)=="/" || substr($str,$i,1)=="")
{//on arrive a la fin d'element(separateur "/") ou en fin de chaine
$len = $i-$positionement;//longueur de l'element trouver
//$zone = substr($str,$positionement,$len);
if (substr($str,$i,1) == 'C')
{
$continent_array[$nb_zone++] = substr($str,$positionement,$len);
//echo "ca marche se truc ou merde!!!";
$add_in_query3 = implode ('|', $continent_array);
}
if (substr($zones,0,1) == 'P')
{
$pays_array[$nb_zone++] = substr($str,$positionement,$len);
$add_in_query1 = implode ('|', $pays_array);
}
if (substr($zones,0,1) == 'R')
{
$region_array[$nb_zone++] = substr($str,$positionement,$len);
$add_in_query2 = implode ('|', $region_array);
}
$positionement=$i+1;//Reinitialisation de la position du nouvel élément
}
}
Je souhaiterai pouvoir retrouver par exemple C_1|C_2 par un echo de $add_in_query3
Merci d'avance
Alexis
cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 août 2007 5 mai 2006 à 13:55
Commence peut-être par un explode pour déjà séparer les différents éléments, le traitement sera d'autant plus simple je pense(ta lecture lettre par lettre tombe déjà). Ensuite pour les tests c'est quasiment la même chose.