|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() |
Bonjour, je cherche à faire une fonction qui retourne la définition du tableau pour la mettre dans un fichier..
Exemple : $a = array("valeur1","valeur2"); mafonction($a); retourne : " $tab[0] = "valeur1"; $tab[1] = "valeur2"; " Biens sur les tableaux multidimmensionnels doivent être accepté. Je suis entrain d'essayer de créer cette fonction (récursive) mais si vous en connaissiez une cela m'aiderait ! |
|
|
00
|
|
|
#2 |
![]() Inscription: janvier 2005
Messages: 2 298
|
bah y aurait print_r() et var_dump() par exemple non?
|
|
|
00
|
|
|
#3 |
|
Membre actif
![]() |
Ah oui, print_r peut-être je vais essayer.
Merci |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() |
heu non, en fait il me faut ma propre fonction car je dois modifier chaque valeur..
|
|
|
00
|
|
|
#5 |
![]() Inscription: janvier 2005
Messages: 2 298
|
Ah ben oui si tu dois faire un traitement spécial il faut ta propre fonction.
Tu peux regarder du coté de array_walk_recursive() pour ne pas avoir a gérer la récursivité toi meme. |
|
|
00
|
|
|
#6 |
|
Membre actif
![]() |
merci mais je ne vois pas comment faire quand même
Pour l'instant je chipote avec ça : Code :
function getDefOfarray($a_or_str,$in_multi_dim = false,$str_before = "") { $result = ""; if(is_array($a_or_str)) { // car récursif foreach($a_or_str as $cle => $valeur) { if(!is_numeric($cle)) $cle = "'$cle'"; if(!$in_multi_dim) { $str_before = "\$FILE[$cle]"; $result .= $str_before.getDefOfArray($valeur,true,$str_before); } else { $str_before .= "[$cle]"; $result .= $str_before.getDefOfArray($valeur,false,$str_before); } } } else $result .= "= stripslashes('".addslashes($a_or_str)."');\n"; return $result; } |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription: décembre 2002
Messages: 86
|
Pas besoin de grands algos, var_export($tableau, true) te renverra ce qu'il te faut (le premier paramètre n'a aucune importance, il exporte tout
Typiquement je l'utilise pour de la mise en cache de variable : Code :
// Stockage de la variable $fp = fopen('variable.php', 'w'); fputs($fp, '<'.'?php return ' . var_export($variable, true) . '; ?'.'>'); fclose($fp); // Récupération de la variable $variable = include 'variable.php'; |
|
|
00
|
|
|
#8 |
|
Membre actif
![]() |
Merci, mais j'ai besoin de modifier le contenu du tableau..
Je ne peux pas faire une boucle sur chaque élément du tableau et puis après utiliser var_export car je dois absolument respecté cette structure : $tab[0] = stripslashes("valeur); |
|
|
00
|