Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : string_to_array et array_to_string ? [ Archives / AU SECOURS !!! ] (pioug43)

mercredi 10 août 2005 à 00:18:37 | string_to_array et array_to_string ?

pioug43

Bonjour,

    Je recherhce une fonction qui pourrait me traduire un tableau vers une string et inversement de plus la fonction etre recurcive puisqu'un tableau peut aussi contenir un tableau
J'ai trouve ce bout de code mais je n'arrive pas à voir comment je pourrais integre qu'un tableau peut aussi contenir un tableau et ainsi de suite

// Converts an array to a string that is safe to pass via a URL
function array_to_string($array) {
  
$retval = '';
   foreach (
$array as $index => $value) {
      
$retval .= urlencode(base64_encode($index)) . '|' . urlencode(base64_encode($value)) . '||';
   }
   return
urlencode(substr($retval, 0, -2));
}
  
// Converts a string created by array_to_string() back into an array.
function string_to_array($string) {
  
$retval = array();
  
$string = urldecode($string);
  
$tmp_array = explode('||', $string);
   foreach (
$tmp_array as $tmp_val) {
       list(
$index, $value) = explode('|', $tmp_val);
      
$retval[base64_decode(urldecode($index))] = base64_decode(urldecode($value));
   } 
   return
$retval;
}


Merci


mercredi 10 août 2005 à 10:18:00 | Re : string_to_array et array_to_string ?

arnal69130

En utilisant les fonctions implode et explode  ( [ Lien ]), on peut faire qqch du genre :

function tableauVersChaine($sep,$tableau){
 foreach($tableau as $cle=>$val){
  if (is_array($val))
   $tableau[$cle]=tableauVersChaine($sep,$val);
 }
 return implode($sep,$tableau);
}

Je cherche pour l'autre sens...
Arn;o)

mercredi 10 août 2005 à 11:06:33 | Re : string_to_array et array_to_string ?

arnal69130

<?php    
function tableauVersChaine($sep,$tableau
){
    foreach(
$tableau as $cle=>$val
){
        if (
is_array($val
))
            
$tableau[$cle]='['.tableauVersChaine($sep,$val).']'
;
    }
    return
implode($sep,$tableau
);
}
function
chaineVersTableau($sep,$chaine
){
    
$tChaine=str_split($chaine
);
    
$tRes
=array();
    
$mot=''
;
    
$sousTableau=0
;
    foreach(
$tChaine as $c
){
            if (
$c=='['
)
                
$sousTableau
++;
            if (
$c==']'
)
                
$sousTableau
--;                
        if ((
$c != $sep) || ($sousTableau>0
))
            
$mot.=$c
;
        if (
$c == $sep
) {
            if (
$sousTableau>0
)
                continue;
            
$tRes[]=$mot
;
            
$mot=''
;
        }        
    }
    
$tRes[]=$mot
;
    foreach(
$tRes as $n=>$mot
) {
        if (
$mot{0}=='['
)
            
$tRes[$n]=chaineVersTableau($sep,substr($mot,1,strlen($mot)-2
));
    }
    return
$tRes
;    
}
$tab1= array('nom', array('tty','tty2',array('encore un autre tableau','ok alors ?'),'tty3'),'email', 'telephone', array('val1','val2'
));
echo
'Tableau1 : <pre>'
;
print_r($tab1
);
$chaine1= tableauVersChaine(",", $tab1
);
echo
'chaine1 : '.$chaine1.'<br />'
;
$tab2=chaineVersTableau(",",$chaine1
);
echo
'-> tab2 : '
;
print_r($tab2);

Et voila . Pour la conversion chaine->tableau ce fut un peu plus compliqué, et il peut-être possible d'optimiser la fonction.

Arn;o)

mercredi 10 août 2005 à 12:43:12 | Re : string_to_array et array_to_string ?

pioug43

Ca marche pas mal par contre en fait j'essay de traduire une chaine provenant de $_POST

chaine en entrée:
Array ( [PHPSESSID] => d3e46ae99d46d1873b5de3aa76a38aed [config] => Array ( [comments_enabled] => 0 [beautify_comments_text] => 1 [show_posts_max] => 15 [recent_posts_max] => 10 [save_drafts_via_xmlhttprequest_enabled] => 1 [default_locale] => fr_FR [default_time_offset] => 0 [html_allowed_tags_in_comments] =>
 

Merci je vais essayer d'adapter ta fonction


mercredi 10 août 2005 à 14:21:55 | Re : string_to_array et array_to_string ?

arnal69130

En fait, il ya bcp plus simple :
Regarde les fonctions serialize et unserialize :
[ Lien ]

Arn;o)

mercredi 10 août 2005 à 15:32:21 | Re : string_to_array et array_to_string ?

pioug43

C pas mal mais le probleme c que je suis sur deux serveurs differents et la fonction serialize et unserialize doivent etre utilise sur le meme serveur

Merci


mercredi 10 août 2005 à 15:51:38 | Re : string_to_array et array_to_string ?

arnal69130

Ah bon ? je n'ai pas vu ça... c'est marqué où ?
Tu partages tes données entre 2 sites qui ne sont pas sur le même serveurs ?



Cette discussion est classé dans : string, tableau, retval, to, array


Répondre à ce message

Sujets en rapport avec ce message

Array to String [ par Aaron ] Hello à tous,J'aimerais savoir s'il est possible d'obtenir un résultat du genre :$req = "INSERT INTO `$table` (`champ1`, `champ2`, `champ3`...) VALUES Include dans un tableau Array ? [ par hakeem69 ] Bonjour à tous <p class="MsoNormal" style Probleme de array [ par lektrosonic ] Bonjour,J ai cree un tableau:$songs_name=array("","Je tourne la page", "Beau souvenir", "Le rap pour moi", "Keep it real", "Nekroi poihtes")et si je v Fonctionnement de array_push() ?? [ par eplanet ] Bonsoir à tous, je me retrouve face à un problème qui me perturbe un peu. J'ai un tableau de tableaux auquel je veux ajouter des éléments, voici mon c Les tableau [ par daris ] Bonsoir,J'ai un tableau du type :Array ( [0] => Array ( [0] => 100006 [1] => 1 [2] => 56.1 recuperation champ bdd puis transformation en variable [ par jphilippev ] bon je récupere un tableau comme cecifunction recup_table_nouv_musique() { // requête mysql $reqnouvmusique=mysql_query('SELECT login FROM log WHERE r contenue d'un repertoir to variable tableau [ par keith166 ] salut les amispuis-je avoir une aidée pour recuperer le contenu d'un repertoir et l'inserer dans une variable tableaumercihttp://i13.photobucket.com Reclassé un Tableau Array [ par antho76 ] Bonjour a tous voila j'ais beau secoué ma tete pour me debloqué le cerveau , mais je comprend pas il trouve toujour pa Trier tableau multidimensionnel [ par Aaron ] Bonjour,Je souhaiterais trier ce tableau multidimensionnel : Array(     [1] => Array(         [Num] => 5         [LastCrPV] => 10         [Weapon] => Supprimer clé d'un array [ par Aaron ] Bonjour,J'aimerais savoir comment est-il possible de supprimer une clé et les éléments associés d'un tableau du style :Array(     [0] => Array (      


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.