OVH Cloud OVH Cloud

texte .INI vers tableau associatif

18 réponses
Avatar
Stéphane Santon
Bonjour,

Existe-t-il une fonction qui transforme un texte de la forme

param1=valeur1
param2=valeur2
param3=valeur3
...

en tableau associatif ??

Merci

10 réponses

1 2
Avatar
Guy
Bonjour,

Existe-t-il une fonction qui transforme un texte de la forme

param1=valeur1
param2=valeur2
param3=valeur3
...

en tableau associatif ??

Merci


Bjr,

parse_ini_file

G

Avatar
YD
Existe-t-il une fonction qui transforme un texte de la forme

param1=valeur1
param2=valeur2
param3=valeur3
en tableau associatif ??


parse_ini_file


Excellente réponse sur f.c.l.php mais sur f.c.l.javascript ? Hmmm...

La réponse à la question initiale est non, pas en js pur.

--
Y.D.


Avatar
Rue des Prairies
Bonjour,

Existe-t-il une fonction qui transforme un texte de la forme

param1=valeur1
param2=valeur2
param3=valeur3
...

en tableau associatif ??

Merci


Bonjour,


Une fonction, je ne crois pas mais tu peux t'en sortir comme ça :

str = "par1=val1npar2=val2npar3=val3";
ta = new Array();
tmp = str.split('n');
for (i=0; i<tmp.length; i++){
arr = tmp[i].split("=");
ta[arr[0]]=arr[1];
}
for (p in ta) {
document.write(p+"="+ta[p]+"<br>");
}

Olivier.

Avatar
Stéphane Santon
Bonjour,

Existe-t-il une fonction qui transforme un texte de la forme
param1=valeur1
... en tableau associatif ??


Une fonction, je ne crois pas mais tu peux t'en sortir comme ça :

str = "par1=val1npar2=val2npar3=val3";
ta = new Array();
tmp = str.split('n');
for (i=0; i<tmp.length; i++){
arr = tmp[i].split("=");
ta[arr[0]]=arr[1];
}
for (p in ta) {
document.write(p+"="+ta[p]+"<br>");
}


Merci bien pour cette procédure.
Bon, si JS n'a pas de fonction dédiée, je peux choisir le format qui me
plaît pour créer mes données.


Avatar
ASM
Existe-t-il une fonction qui transforme un texte de la forme

param1=valeur1
param2=valeur2
param3=valeur3
...

en tableau associatif ??


qu'est-ce que c'est un tableau associatif ?

Merci


param = new Array();
param[0] = <?= $valeur0 ?>;
param[1] = <?= $valeur1 ?>;

ou

param = new Array(<?
print(''$valeur0',
'$valeur1',
'$valeur2',
'$valeur3'');
?>
);

ou

param = '<? echo('$val1,$val2, ... ,$valx'); ?>';
param = param.split(',');

Avatar
Stéphane Santon
Bonjour,

ASM avait énoncé :
Existe-t-il une fonction qui transforme un texte de la forme
param1=valeur1
...
en tableau associatif ??


qu'est-ce que c'est un tableau associatif ?


C'est un tableau (Array) dans lequel l'indice est une chaine et non un
numéro, associée à sa valeur. Du style :

param = new Array();
param[ "param1"] = Valeur1;
param[ "param2"] = Valeur2;

param = new Array(<?
print(''$valeur0', '$valeur1', '$valeur2', '$valeur3'');
?> );


Je ne veux pas de Php, je suis côté JavaScript, là...
Le texte de départ est dans une variable chaîne côté JavaScript, et je
veux saucissonner la chaine pour la récupérer dans un tableau
Javascript.

param = '<? echo('$val1,$val2, ... ,$valx'); ?>';
param = param.split(',');


Ah ben split ma paraît déjà pas mal, si je peux remplacer la virgule
par un saut de ligne...

Merci


Avatar
ASM
ASM avait énoncé :
qu'est-ce que c'est un tableau associatif ?


C'est un tableau (Array) dans lequel l'indice est une chaine et non un
numéro, associée à sa valeur. Du style :

param = new Array();
param[ "param1"] = Valeur1;
param[ "param2"] = Valeur2;


Je m'en doutait ... :-/
bien que je n'en voie pas l'avantage / aux bêtes variables.

param = new Array(<?
print(''$valeur0', '$valeur1', '$valeur2', '$valeur3'');
?> );


Je ne veux pas de Php,


M'en fous, c'est kif kif, tu t'arranges pour avoir :

param = 'param1=valeur1,param2=valeur2,param3=valeur3';

// ou n'importe quoi de ce style (2 séparateurs au choix)
parama = 'param1;valeur1,param2;valeur2,param3;valeur3';
paramb = 'param1|valeur1,param2|valeur2,param3|valeur3';
paramc = 'param1=valeur1nparam2=valeur2nparam3=valeur3';

par = new Array();
param = param.split(',');
for(var i=0;i<param.length; i++)
{
var o = param[i].split('=');
par[o[0]] = o[1];
}

alert(par['param2']); // --> valeur2

par = new Array();
paramc = paramc.split('n');
for(var i=0;i<paramc.length; i++)
{
var o = paramc[i].split('=');
par[o[0]] = o[1];
}

alert(par['param3']); // --> valeur3


je suis côté JavaScript, là...
Le texte de départ est dans une variable chaîne côté JavaScript, et je
veux saucissonner la chaine pour la récupérer dans un tableau Javascript.


débrouille-toi pour que la chaîne soit conforme (1 ligne continue).

param = '<? echo('$val1,$val2, ... ,$valx'); ?>';
param = param.split(',');


Ah ben split ma paraît déjà pas mal, si je peux remplacer la virgule par
un saut de ligne...


ce serait nouveau qu'une variable s'étale sur plusieurs lignes !

ou bien serait-y que tu veuilles le voir écrit ?

--
ASM


Avatar
Stéphane Santon
ASM avait soumis l'idée :
param = new Array();
param[ "param1"] = Valeur1;
param[ "param2"] = Valeur2;


Je m'en doutait ... :-/
bien que je n'en voie pas l'avantage / aux bêtes variables.


L'avantage est de faire des traitements par boucles, ... non ?

M'en fous, c'est kif kif,


LOL ! Ben pas moi ! ... ;-)

param = 'param1=valeur1,param2=valeur2,param3=valeur3';
par = new Array();
param = param.split(',');
for(var i=0;i<param.length; i++)
{
var o = param[i].split('=');
par[o[0]] = o[1];
}
alert(par['param2']); // --> valeur2


Super ! Merci, c'est tout ce qui va bien... puisqu'il n'y a pas de
for_each comme en php.

je suis côté JavaScript, là...
Le texte de départ est dans une variable chaîne côté JavaScript, et je veux
saucissonner la chaine pour la récupérer dans un tableau Javascript.


débrouille-toi pour que la chaîne soit conforme (1 ligne continue).


OUI CHEF !

Ah ben split ma paraît déjà pas mal,
si je peux remplacer la virgule par un saut de ligne...


ce serait nouveau qu'une variable s'étale sur plusieurs lignes !


Ah ? Qu'est-ce qui interdit le saut de ligne dans une variable chaine ?

ou bien serait-y que tu veuilles le voir écrit ?


Si c'est un fichier INI pourquoi pas ? (ce n'est pas le cas réel ici).

Merci encore pour ces bouts de code !


Avatar
ASM

Ah ? Qu'est-ce qui interdit le saut de ligne dans une variable chaine ?


On peut faire ça en PHP ?

essaie ... pour voir ce que t'en dit ton brouteur.

var santon = 'un gars qui
s'appelle stxe9phane';

alert(santon);


...

Erreur : unterminated string literal
Code source :
var santon = 'un gars qui


Dans mon autre post tu avais paramc avec des n
mais ça ne prête pas à conséquence :
ce sont de bêtes caractères faisant partie de la chaîne
(sur une ligne et délimitée par les ')

Cependant :

var santon = 'un gars quin s'appelle stxe9phane';

alert(santon); // 2 lignes dans l'alerte


--
ASM

Avatar
Florian Sinatra
*Stéphane Santon* @ 10/10/2006 19:52 :
Super ! Merci, c'est tout ce qui va bien... puisqu'il n'y a pas de
for_each comme en php.


ben on peut s'en approcher pas mal :
for(var i in objet)

http://toutjavascript.com/reference/reference.php?ref=in&parent!0

1 2