/** * Calcule l'expression PHP décrivant un tableau complexe (ou une chaîne) * * Lorsqu'un tableau est transmis, reconstruit de quoi créer le tableau * en code PHP (une sorte de var_export) en appelant pour chaque valeur * cette fonction de manière récursive. * * Si le premier index (0) du tableau est "'?'", retourne un code * de test entre les 3 autres valeurs (v1 ? v2 : v3). Les valeurs * pouvant être des tableaux aussi. * * @param mixed $a * Les données dont on veut construire un équivalent de var_export * @return string * Expression PHP décrivant un texte ou un tableau **/ function calculer_dump_array($a) { if (!is_array($a)) { return $a; } $res = ""; if ($a and $a[0] == "'?'") { return "(" . calculer_dump_array($a[1]) . " ? " . calculer_dump_array($a[2]) . " : " . calculer_dump_array($a[3]) . ")"; } else { foreach ($a as $v) { $res .= ", " . calculer_dump_array($v); } return "\n\t\t\tarray(" . substr($res, 2) . ')'; } }
function calculer_dump_array($a){ if (!is_array($a)) return $a; $res = ""; if ($a AND $a[0]=="'?'") return ("(" . calculer_dump_array($a[1]) . " ? " . calculer_dump_array($a[2]) . " : " . calculer_dump_array($a[3]) . ")"); else { foreach ($a as $v) $res .= ", " . calculer_dump_array($v); return "\n\t\t\tarray(" . substr($res, 2) . ')'; } }