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
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|