parse fichier et récurssivité :)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : parse fichier et récurssivité :)

Re: parse fichier et récurssivité :)

par Elie » 30 juin 2014, 16:09

C'est pas tres joli comme code mais ca marche :)
<?php
	$fichier = 'param1 value1 value2 value3
param1 valueS value3 value5 value8
param3 value1 value2
obj1 valueA valueB valueC
obj2 valueZ valueD valueG
param4 value9 value4
obj3 valueG
obj4 valueU valueP
param5 value0 value3';

	$array = array();
	$explode = explode("\n", $fichier);
	foreach($explode as $v) {
		$explode2 = explode(' ', $v);
		foreach($explode2 as $k => $val) {
			if($k == 0) { $key = $val; } else { $array[$key][] = $val; }
		}
	}
	
	print_r($array);
	
?>

Re: parse fichier et récurssivité :)

par moogli » 30 juin 2014, 16:04

salut,

c'est pas clair ta demande

tu veux ça comme tableau au final ?
<?php
$x = [
    'param1' => ['value1', 'value2', 'value3', 'valueS', 'value3', 'value5', 'value8'],
    'param3' => ['value', 'value2'],
    'obj1'   => ['valueA', 'valueB', 'valueC'],
    'obj2'   => ['valueZ', 'valueD', 'valueG'],
    'param4' => ['value9', 'value4'],
    'obj3'   => ['valueG'],
    'obj4'   => ['valueU valueP'],
    'param5' => ['value0 value3']
];
si oui ce n'est pas super compliqué, il 'suffit' de vérifier si l'index existe déjà dans le tableau, si oui du ajoute (si tu utilise toujours $tab[$param][] = $value cela ne pose pas de soucis).

Ceci dit j'ai p'tet mal compris la question ;)

@+

parse fichier et récurssivité :)

par telnes » 30 juin 2014, 14:39

hello

exemple de fichier
param1 value1 value2 value3
param1 valueS value3 value5 value8
param3 value1 value2
obj1 valueA valueB valueC
obj2 valueZ valueD valueG
param4 value9 value4
obj3 valueG
obj4 valueU valueP
param5 value0 value3
les objets sont rattachés au param du dessus via :espace: puis mots

j'ai un code qui récupère fait un tableau du tout mais c'est pas récursive (donc les niveau :espace::espace: mots ... ca passe pas :))

array( 'param1' => array( 'value' => ...

une idée pour faire ca en récursif ?