Les tableaux de tableaux...

Résolu
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 21 avril 2006 à 13:05
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 21 avril 2006 à 14:12
Bonjour,



En fait j'aimerais faire des tableaux de tableaux et je n' y arrive pas
en php mais en dessin oui donc si vous pouviez m'aider a trouver la
syntaxe de cette chose ca m 'aiderais beaucoup ^^



Le nombres de cases dedans est suceptibles d etre modifié mais je me debrouillerais...

donc au depart je pensais ecrire:

$array_result=array();

for($i=0;$i<=1;$i++){

$array_result[$i][truc1,truc2,truc3,truc4,truc5];

}



mais il me met:

Parse error: parse error, unexpected ',', expecting ']'

Autrement dit il n'aime pas ma virgule ...

petite precision voici la ligne que j utilise moi ...qui est dans 2
structure for avec comme index iArray et
iArrayObject.$day,$id_work,$id_plage,$id_poste correxpondent a
truc1,truc2...

$array_of_result[$iArray][$iArrayObject][$day,$id_work,$id_plage,$id_poste];



-----------------------

| ------------- |

| | truc1 | |

| ------------- |

| | truc2 | |

| ------------- |

| | truc3 | |

| ------------- |

| | truc4 | |

| ------------- |

| | truc5 | |

| ------------- |

-----------------------


| ------------- |

| | truc1 | |


| ------------- |

| | truc2 | |


| ------------- |

| | truc3 | |


| ------------- |

| | truc4 | |


| ------------- |

| | truc5 | |


| ------------- |


-----------------------


-------------------------------------------------------------------------------------------------------

Il vaut mieux poser une question et passer pour bête que le rester
toute sa vie

8 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 avril 2006 à 13:24
Salut,

$array_result=array();
for($i=0;$i<=1;$i++){
$array_result[$i]=array('truc1','truc2','truc3');
}

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
21 avril 2006 à 13:41
Salut,

Je n'ai peux être pas tout suivi de tes limpides (???? ) explications
Pour le petit bout de code que tu as fourni, il lui faudra le lifting suivant :

$array_result = array();
for($i=0;$i<=1;$i++){
$array_result[$i] = array($day,$id_work,$id_plage,$id_poste);
}

Menfin j'ai dû louper quelque chose car je ne vois pas l'intérêt. Si c'est pour faire un tableau contenant 2 tableaux identiques ce n'est pas la bonne méthode.

N'hésite pas à en dire plus

Kohntark-
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
21 avril 2006 à 13:44
Oups ... la 206 a été plus rapide :o)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 avril 2006 à 13:44
Je n'en vois pas l'intérêt non plus, j'aurais plutôt fait ça en ce qui me concerne :

$array_result[$i][0]=$day;
$array_result[$i][1]=$id_work;

etc...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 avril 2006 à 13:46
Attends 206 RC hein ^^ sur circuit ça fonce :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
21 avril 2006 à 14:03
Bah en fait je vais vous montrer ce que j'ai fait vous me direz si vous trouvez cela judicieux ou non...

Pardon pour le flood ...



/*Fonction LoadDirectory*/

/*I/O Dossier contenant des fichiers xml / Tableau des noms des fichiers xml*/

/**/

function LoadDirectory($directory){

$array_of_files=array();

$iIndexFile=0;

if(is_dir($directory)){

if ($dh = opendir($directory)) {

while (($file = readdir($dh)) !== false) {


if(($file!='.') && ($file!='..') &&
(substr($file,-4,4)=='.xml')){

$array_of_files[$iIndexFile]=$file;

$iIndexFile++;

}

}

closedir($dh);

}

}

return $array_of_files; //$file est un array

}

/*fonction LoadXMLFiles*/

/*Input Dossier contenant des fichiers xml Tableau des noms des fichiers xml*/

/*Output Tableau contenant le parsage de chaque fichier xml*/

/**/

function LoadXMLFiles($directory,$array_of_files){

$array_of_result=array();

$iIndex_Array_Result=0;

for($iArray=0;$iArray<=(count($array_of_files)-1);$iArray++){

echo $location=$directory.$array_of_files[$iArray];

echo "
";

echo $iArray;

echo "
";

$handle = fopen ($location, "r");

$content_xml = fread ($handle, filesize ($location));

fclose ($handle);

if(!$dom = domxml_open_mem($content_xml)) {

echo "Erreur lors de l'analyse du document\n";

exit;

}

else{

$days = $dom->get_elements_by_tagname("day");

$id_works = $dom->get_elements_by_tagname("id_work");

$id_plages = $dom->get_elements_by_tagname("id_plage");

$id_postes = $dom->get_elements_by_tagname("id_poste");

for($iArrayObject=0;$iArrayObject<=(count($days)-1);$iArrayObject++){

echo $day=$days[$iArrayObject]->get_content();

echo "
";

echo $id_work=$id_works[$iArrayObject]->get_content();

echo "
";

echo $id_plage=$id_plages[$iArrayObject]->get_content();

echo "
";

echo $id_poste=$id_postes[$iArrayObject]->get_content();

echo "
";

$array_of_result[$iArray][$iArrayObject]=array($day,$id_work,$id_plage,$id_poste);

}

}

}

return $array_of_result;



}



$directory="./planning_previsionnel/";

$array_of_files=array();



$array_of_files=LoadDirectory($directory);

//echo $array_of_files[0];

echo 'Fin LoadDirectory';

echo "
";

$array_of_result=LoadXMLFiles($directory,$array_of_files);

echo 'Fin LoadXMLFiles';

/*Essai*/

/*

echo "
";

echo $array_of_result[0][0][0];

echo "
";

echo $array_of_result[0][0][1];

echo "
";

echo $array_of_result[0][0][2];

echo "
";

echo $array_of_result[0][0][3];

echo "
";

echo $array_of_result[0][1][0];

echo "
";

*/

-------------------------------------------------------------------------------------------------------

Il vaut mieux poser une question et passer pour bête que le rester
toute sa vie
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 avril 2006 à 14:09
Pffiouuu... que c'est long...

$array_of_files[$iIndexFile]=$file;
$iIndexFile++;

> $array_of_files[]=$file;

for($iArray=0;$iArray<=(count($array_of_files)-1);$iArray++){

> $nb=count($array_of_files);
for($iArray=0;$iArray<$nb;$iArray++){

echo $location=$directory.$array_of_files[$iArray],'
',$iArray,'
';

$handle = fopen ($location, "r");
$content_xml = fread ($handle, filesize ($location));
fclose ($handle);
if(!$dom = domxml_open_mem($content_xml)) {
echo "Erreur lors de l'analyse du document\n";
exit;
}

>
if(!$dom = domxml_open_file($location)){
exit('Erreur lors de l\'analyse du document');
}
http://fr.php.net/manual/fr/function.domxml-open-file.php

le reste c'est dans le même genre :-)
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
21 avril 2006 à 14:12
Merci Antho d'avoir lu ce code et m'avoir aiguillé sur ces optimisations ^^

-------------------------------------------------------------------------------------------------------

Il vaut mieux poser une question et passer pour bête que le rester
toute sa vie
0
Rejoignez-nous