begin process at 2012 02 15 00:14:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

string_to_array et array_to_string ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

string_to_array et array_to_string ?

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ée 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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales