Les Snippets

Connexion

Transformer un tableau en tableau Javascript (même multi-dimensionnel)

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 14/06/2006 11:29:51 et initié par J_G [Liste]
Date de mise à jour : 14/06/2006 14:23:12
Vue : 12014
Catégorie(s) : Trucs & Astuces, Web
Langages dispo pour ce code :
- PHP 3, PHP 4, PHP 5



Langage : PHP 3 , PHP 4 , PHP 5
Date ajout : 14/06/2006
Posté par J_G [Liste]
   <?php  

/* 
Le but : transformer un tableau PHP, même mutli-dimensionnel, en un tableau JS
!!! Ce tableau ne doit pas contenir d'objet ou de ressource PHP !!! (pas de contrôle, mais le script JS plantera)
En entrée :
(array) $php_array => le tableau PHP à traduire en JS
(STRING) $js_array_name => le nom du tableau JS qui sera construit
En sortie :
(string) => le script JS permettant la construction du tableau
En cas d'errur :
retourne FALSE et une erreur de type E_USER_NOTICE est generée
*/
function php2js( $php_array, $js_array_name ) {
	// contrôle des parametres d'entrée
	 if( !is_array( $php_array ) ) {
		trigger_error( "php2js() => 'array' attendu en parametre 1, '".gettype($array)."' fourni !?!");
		return false;
	}
	if( !is_string( $js_array_name ) ) {
		trigger_error( "php2js() => 'string' attendu en parametre 2, '".gettype($array)."' fourni !?!");
		return false;
	}
	// Création du tableau en JS
	$script_js = "var {$js_array_name} = new Array();\n";
	// on rempli le tableau JS à partir des valeurs de son homologue PHP
	reset($php_array);
	while( list($key, $value) = each($php_array) ) {
		// on tombe sur une dimension supplementaire
		if( is_array($value) ) {
			// On va demander la création d'un tableau JS temporaire
			$temp = uniqid('temp_'); // on lui choisi un nom bien barbare
			$t = php2js( $value, $temp ); // et on creer le script JS
			
			// En cas d'erreur, remonter l'info aux recursions superieures
			if( $t===false ) return false;
			// Ajout du script de création du tableau JS temporaire
			$script_js.= $t;
			// puis on applique ce tableau temporaire a celui en cours de construction
			$script_js.= "{$js_array_name}['{$key}'] = {$temp};\n";
		}
		// Si la clef est un entier, pas de guillemets
		elseif( is_int($key) )  $script_js.= "{$js_array_name}[{$key}] = '{$value}';\n";
		// sinon avec les guillemets
		else $script_js.= "{$js_array_name}['{$key}'] = '{$value}';\n";
	}
	// Et retourn le script JS
	return $script_js;
} // fin de la fonction php2js
?>

Snippets en rapport avec : Tableau, Array, Javascript, Js, Transformer



Codes sources en rapport avec : Tableau, Array, Javascript, Js, Transformer

{PHP} TRANSFORMER UN TABLEAU PHP EN TABLEAU JAVASCRIPT
Bonjour tous le monde... On m'a posé une petite question sur ce site : "Comment créer un tableau ...

{Javascript / DHTML} DIVERSES FONCTIONS SIMPLES POUR LES TABLEAUX
Quelques petites fonctions qui peuvent être utiles sur les tableaux....

{PHP} TRANSFORMER UN TABLEAU D'OBJETS EN TABLEAU UNIDIMENSIONNEL
Pour les besoins d'un webmail que je remets à jour j'avais besoin de traiter les tableaux d'objets r...

{PHP} TRANSFORMER UN TABLEAU MULTIDIMENSIONNEL EN TABLEAU UNIDIMENSIONNEL
Quand je me suis retrouvé devant le problème de devoir gérer un tableau à X dimensions sans connaîtr...

{Javascript / DHTML} CHRONOMÉTRE EN JAVASCRIPT
c'est un code d'un chronométre en JavaScript,ce code peut exploité dans des site html. ...

{Flash} FAIRE TOURNER UN TABLEAU (ARRAY)
Il est parfois utile ou nécessaire de faire 'tourner' un Array, c'est à dire de décaler tout le cont...

{Flash} UTILISATION DYNAMIQUE D'UN TABLEAU
Utilisation d'un tableau : " array ", pour se logger, faire une recherche dans les données existante...

{PHP} DÉTERMINATION DU CHEMIN D'INDEXAGE MENANT À UNE VALEUR DANS UN TABLEAU MULTI-DIMENSIONNEL
Cette fonction sert à trouver tous les indices qu'il faut suivre dans un tableau multidimentionnel p...

{Javascript / DHTML} TRANSFORMER UN TABLEAU JAVASCRIPT EN UN TABLEAU HTML
Cette fonction prend en argument une variable javascript qui est un tableau, une matrice à x lignes ...

{Javascript / DHTML} DÉTÉCTER SI JAVASCRIPT EST ACTIVÉ + PHP / SESSION
Bonjour tout le monde, Voici mon premier post de script sur Codes-sources ! J' éspère qu' il vou...