Lire un array dans un array [Résolu]

Signaler
-
 JejeScript -
Bonjour,

Je tente de construire une classe perso pour gérer des templates,
mais je me retrouve face à un casse tête que je n'arrive pas à résoudre.

je tente d'imbriquer des blocs, grâce à array et ensuite de les lire.

voici le code :

<?php
class template {

private $template;                // contenu fichier
private $fichier;                 // url fichier
// -------------
public $tableauVaraibleLibre;     // tableau des variables libres
// -------------
public $tableauNomBloc;           // tableau des noms des blocs
public $tableauVariableBloc;      // tableau des varaibles des blocs
public $tableauNomParent;         // tableau des blocs parents
// -------------
public $tableauVariableSousBloc;  // tableau des variables des sous bocs
// -------------

public function template($template) {
//on vérifie que le fichier template existe
if(is_file($template)) {
$this->template =  file_get_contents($template);
$this->fichier  = $template;
}
else {
echo 'Template - Erreur. L\'erreur retournée est  : 
template  '.$this->fichier.'  introuvable';		
}
}
// -------------

public function variableLibre($array) {
$this->tableauVaraibleLibre  = $array;
}
// -------------

public function variableBloc($bloc,$array) {
$this->tableauNomBloc[] = $bloc;
$nombreArray = count($array);
for($u=0; $u<$nombreArray; $u++) {
$this->tableauVariableBloc[] = $array[$u];
}
}
// ------------

public function sousbloc($sousB='', $nomSousB='') {
for($i=0; $i<count($this->tableauVariableBloc);$i++) {
foreach($this->tableauVariableBloc[$i] as $val) {
if(is_array($val)) {
$this->tableauNomParent[] = $i;
$this->tableauVariableSousBloc[] = $val;
}
}
}
}
// -------------
public function constructeur() {
}
}

// TEST //

$page = new template('test.html');
$page->variableLibre(array('MESSAGE'=>'un petit test de template', 'TEXTE'=>'un exemple de texte'));
$page->variableBloc('BLOC',
array(
array('TITRE'=>'titre 001', 'CONTENU'=>'contenu 001'),
array('TITRE'=>'titre 002', 'CONTENU'=>'contenu 002'),
array(
array('TITRE'=>'titre 011', 'CONTENU'=>'contenu 011'),
array('TITRE'=>'titre 012', 'CONTENU'=>'contenu 012'),
array(
array('TITRE'=>'titre 111', 'CONTENU'=>'contenu 111')
)
),
array('TITRE'=>'titre 003', 'CONTENU'=>'contenu 003'),
array('TITRE'=>'titre 004', 'CONTENU'=>'contenu 004')
)
);
$page->variableBloc('BLOC-2',
array(
array('TITRE'=>'titre 011', 'CONTENU'=>'contenu 011'),
array('TITRE'=>'titre 012', 'CONTENU'=>'contenu 012'),
array('TITRE'=>'titre 013', 'CONTENU'=>'contenu 013'),
array('TITRE'=>'titre 014', 'CONTENU'=>'contenu 014')
)
);
$page->sousbloc();
$page->constructeur();
print_r($page->tableauVariableSousBloc);
echo '

Nombre de Bloc recu : '. count($page->tableauNomBloc);
echo '
Nombre de tableau de variable recu : '.count($page->tableauVariableBloc);
echo '
Nombre de tableau parent recu : '.count($page->tableauNomParent);
echo '
Nombre de tableau de variable de sous bloc recu : '.count($page->tableauVariableSousBloc);
?>



Voici ce que j'obtiens grâce à print_r($page->tableauVariableSousBloc); :

<?php
Array ( 
[0] => Array ( 
[TITRE] => titre 011 
[CONTENU] => contenu 011 
) 
[1] => Array ( 
[TITRE] => titre 012 
[CONTENU] => contenu 012 
) 
[2] => Array ( 
[0] => Array ( 
[TITRE] => titre 111 
[CONTENU] => contenu 111 
) 
) 
) 
?>


comment aller chercher le array [2] et le remplacer par l'array [2][0]

Cordialement,

JéjéScript.

Si on ne réussi pas du premier coup, il faut se rappeler que le grand chêne aussi au début était un gland !

1 réponse

Re, j'ai enfin réussi.

Cordialement,

JéjéScript.

Si on ne réussi pas du premier coup, il faut se rappeler que le grand chêne aussi au début était un gland !