Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Complexe array

3 réponses
Avatar
barfi
Bonjour,

j'ai passé ma soirée à chercher sur le web et, je n'ai pas trouvé de
réponse convenable c'est pourquoi j'écrit maintenant sur ce forum.

J'ai un fichier texte avec les informations suivantes:


infos1="resultat1"
infos2="resultat2"
infos3="resultat3"

j'aimerais créer si possible une array() avec les infoX comme key et
resultatX comme value est-ce possible de le faire à partir de ce fichier?

Merci

Philippe

3 réponses

Avatar
Olivier Miakinen

j'ai passé ma soirée à chercher sur le web et, je n'ai pas trouvé de
réponse convenable c'est pourquoi j'écrit maintenant sur ce forum.

J'ai un fichier texte avec les informations suivantes:

infos1="resultat1"
infos2="resultat2"
infos3="resultat3"

j'aimerais créer si possible une array() avec les infoX comme key et
resultatX comme value est-ce possible de le faire à partir de ce fichier?


Sauf erreur, ça se fait en 3 lignes (non testées) :

$contents = file_get_contents($filename);
preg_match_all('/(.*)="(.*)"/', $contents, $matches);
$resultat = array_combine($matches[1], $matches[2]);

Avatar
Bruno Desthuilliers
(snip)
infos1="resultat1"
infos2="resultat2"
infos3="resultat3"

j'aimerais créer si possible une array() avec les infoX comme key et
resultatX comme value


(snip)

$contents = file_get_contents($filename);
preg_match_all('/(.*)="(.*)"/', $contents, $matches);
$resultat = array_combine($matches[1], $matches[2]);


ou plus simplement, en une ligne:
$resultat = parse_ini_file($filename);


http://fr2.php.net/parse_ini_file

HTH


Avatar
Olivier Miakinen

$contents = file_get_contents($filename);
preg_match_all('/(.*)="(.*)"/', $contents, $matches);
$resultat = array_combine($matches[1], $matches[2]);


ou plus simplement, en une ligne:
$resultat = parse_ini_file($filename);


En outre, cela fonctionne dès PHP4, alors que array_combine nécessite
PHP5. En revanche, le commentaire de goulven.ch du 29 octobre dernier
signale que cela ne fonctionne pas si une valeur comprend un signe =.

Je profite de cette réponse pour signaler à barfi que son message est
arrivé dans ma boîte aux lettres au lieu d'être envoyé au forum. J'ai
répondu ici pour faire suivre l'info selon laquelle array_combine
n'existe pas en PHP4.