Ejemplo n.º 1
0
/**
 * Transforme un tableau en chaine de caractères avec comme principe :
 *
 * - une case de vient une ligne de la chaine
 * - chaque ligne est générée avec la forme cle|valeur
 * - si une entrée du tableau est elle même un tableau, on met une ligne de la forme *clef
 * - pour marquer que l'on quitte un sous-tableau, on met une ligne commencant par /*, sauf si on bascule dans un autre sous-tableau.
 *
 * @param array $tableau Tableau à transformer
 * @return string Texte représentant les données du tableau
 */
function saisies_tableau2chaine($tableau)
{
    if ($tableau and is_array($tableau)) {
        $chaine = '';
        $avant_est_tableau = false;
        foreach ($tableau as $cle => $valeur) {
            if (is_array($valeur)) {
                $avant_est_tableau = true;
                $ligne = trim("*{$cle}");
                $chaine .= "{$ligne}\n";
                $chaine .= saisies_tableau2chaine($valeur) . "\n";
            } else {
                if ($avant_est_tableau == true) {
                    $avant_est_tableau = false;
                    $chaine .= "/*\n";
                }
                $ligne = trim("{$cle}|{$valeur}");
                $chaine .= "{$ligne}\n";
            }
        }
        $chaine = trim($chaine);
        return $chaine;
    } elseif (is_string($tableau)) {
        // Si c'est déjà une chaine on la renvoie telle quelle
        return $tableau;
    } else {
        return '';
    }
}
Ejemplo n.º 2
0
/**
 * Transforme un tableau en chaine de caractères avec comme principe :
 * 
 * - une case de vient une ligne de la chaine
 * - chaque ligne est générée avec la forme cle|valeur
 * - si une entrée du tableau est elle même un tableau, on met une ligne de la forme *clef
 * - pour marquer que l'on quitte un sous-tableau, on met une ligne commencant par /*, sauf si on bascule dans un autre sous-tableau.
 *
 * @param array $tableau Tableau à transformer
 * @return string Texte représentant les données du tableau
 */
function saisies_tableau2chaine($tableau)
{
    if ($tableau and is_array($tableau)) {
        $chaine = '';
        $avant_est_tableau = False;
        foreach ($tableau as $cle => $valeur) {
            if (is_array($valeur)) {
                $avant_est_tableau = True;
                $ligne = trim("*{$cle}");
                $chaine .= "{$ligne}\n";
                $chaine .= saisies_tableau2chaine($valeur) . "\n";
            } else {
                if ($avant_est_tableau == True) {
                    $avant_est_tableau = False;
                    $chaine .= "/*\n";
                }
                $ligne = trim("{$cle}|{$valeur}");
                $chaine .= "{$ligne}\n";
            }
        }
        $chaine = trim($chaine);
        return $chaine;
    } elseif (is_string($tableau)) {
        return $tableau;
    } else {
        return '';
    }
}