Titre: Problème de type array multi-dimensions
Posté par: Keyser Soze le le 21-03-2007 a 22:50:56
Bonjour à tous.
Pour une appli de gestion des stocks, je crée un array à partir des données d'une table. Cet array, une fois créé, se présente ainsi :
Code:
| array(array(102,array(10,11,13,14,49,50),array(1,2,5,6,7,8)),array(183,array(41,44,47,50),array(5,6,7,8))) |
|
Lorsque je veux l'exploiter, je me retouve avec cette erreur :
Code:
function afficher_tableau($tableau) { // if (is_array($tableau)) // { // on fait une boucle qui lit les éléments du tableau foreach ($tableau as $cle=>$valeur) { // si l'un des éléments est lui même un tableau // alors on applique la fonction à ce tableau if(is_array($valeur)) { // on affiche le nom de la clé et // le début d'une liste pour // décaler le contenu vers la droite echo $cle.' : <ul>'; // ici se réalise la récursivité // c'est à dire qu'on applique la fonction // à l'élément en cours car c'est lui aussi un tableau afficher_tableau($valeur); // on ferme la liste echo '</ul>'; } // si ce n'est pas un tableau // alors on affiche le contenu de l'élément else { echo $cle.' = '.$valeur.' <br>'; } } // } }
--------------------------- Résultat -> Warning: Invalid argument supplied for foreach() in etc... |
|
Logique, puisque lorsque je fais un gettype(), il me retourne qu'il s'agit d'un type String.
Forcer le type par un settype($chaine, "string"); ne fonctionne pas.
Des idées ?
Merci d'avance ! ;)
Edit : testé sous PHP 4.3.0 et 5.x |
Titre: Re:Problème de type array multi-dimensions
Posté par: ToToMaStEr le le 23-03-2007 a 21:18:32
J'ai beaucoup de mal à lire ton code. Essaye de l'arranger de facon horizontale principalement.
Merci |
Titre: Re:Problème de type array multi-dimensions
Posté par: DrJekyll le le 17-08-2007 a 18:21:57
Si tu affiches ton tableau juste pour du "debug", tu peux aussi utiliser la fonction PHP "print_r($nomdutableau)".
Attention : cette fonction gère elle-même les tabulations et retours à la ligne, mais ils s'afficheront dans le code source de ta page web. Si tu veux que tout s'affiche proprement, tu peux utiliser les balises HTML "pre" :
Code:
<?php echo '<pre>'; print_r($nomdutableau); echo '</pre>'; ?> |
|
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|