Accueil > Forum > > > > string_to_array et array_to_string ?
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 (
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
DEMANDE D'AIDEDEMANDE D'AIDE par palmerdt
Cliquez pour lire la suite par palmerdt
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|