PHP tableaux multidimensionnels
11 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
PHP tableaux multidimensionnels
Bonjour chuis une debutante en php et j'ai un tout petit probleme tout bete mais que je n'arrive pas a regler.
En fait j'ai un tableau multidimensionel qui est de cette forme
$tableau= array($design=>array("Email","Signal","Frequence","Params"), $process=>array($email,$stereo,$freq,$params), $display=>array($output));
en fait ce que je veux c'est faire une boucle sur les elements du tableau "design" uniquement mais vu que celui ci est a l'interieur du grand tableau comment suis je sensee faire.
Merci du coup de main
En fait j'ai un tableau multidimensionel qui est de cette forme
$tableau= array($design=>array("Email","Signal","Frequence","Params"), $process=>array($email,$stereo,$freq,$params), $display=>array($output));
en fait ce que je veux c'est faire une boucle sur les elements du tableau "design" uniquement mais vu que celui ci est a l'interieur du grand tableau comment suis je sensee faire.
Merci du coup de main
- Code: Tout sélectionner
foreach($tableau['design'] AS $cle=>$valeur){
...
}
cela fonctionnera mieux
plus d'infos > http://fr.php.net/foreach
je pense (ai-je tort ?) que le nom du tableau doit etre 'design' et non pas le contenu de la variable $design.
si ce n'est pas le cas alors, la solution de obi est celle qui fonctionne
jarreweb a écrit:
- Code: Tout sélectionner
foreach($tableau['design'] AS $cle=>$valeur){
...
}
cela fonctionnera mieux
plus d'infos > http://fr.php.net/foreach
Attendu que dans la construction de son tableau elle n'a pas mis de clef, utliser la forme racourcie présentée en premier me semble préférable
- Code: Tout sélectionner
foreach (array_expression as $value)
statement
Sinon pour le reste, j'ai présumé que son initlaisation de tableau était juste. Il est parfaitement valide, maitenant reflête-t-il l'intention de la programmeuse, rien n'est moins sûr.
Pour s'en assurer, rien de tel qu'un
- Code: Tout sélectionner
echo '<pre>'.print_r($array,true).'</pre>';
Merci des reponses que vous m'avez donnees.
en fait ma premiere demarche avait ete de faire comme l'a suggere Obi en premier lieu j'avais donc fait
function build_page($for_algorithm){
echo(' <form action="aec_evaluation.php" enctype="multipart/form-data"
method="post">
<table>');
foreach ($for_algorithm[$design] as $a) {
foreach ($name as $b){
echo('<tr>
<td>'.$a.': </td>
<td> <input type="TEXT" name='.$b.' size="80"> </td>
</tr>');
}
}
echo('<tr>
<td> </td>
<td> <input type="SUBMIT" value="Send"> </td>
</tr>
</table>');
}
dans le code de cette function il y a ma boucle foreach que je testais hier sans succes et elle ressemble un peu a ce que tu as propose Obi mais je sais pas pkoi je ne vois pas apparaitre le formulaire que je voulais creer.
J'ai aussi suivi ton conseil j'ai aussi fait
echo '<pre>'.print_r($array,true).'</pre>'; et voici le resultat
Array
(
[] => Array
(
[0] =>
)
)
Je suis desolee je comprends pas bien le concept des cles est ce qu avec les cles je pourrai parcourir le tableau design?
Merci encore Obi et JarreWeb pour vos reponses et desolee je
suis une debutante du php
en fait ma premiere demarche avait ete de faire comme l'a suggere Obi en premier lieu j'avais donc fait
function build_page($for_algorithm){
echo(' <form action="aec_evaluation.php" enctype="multipart/form-data"
method="post">
<table>');
foreach ($for_algorithm[$design] as $a) {
foreach ($name as $b){
echo('<tr>
<td>'.$a.': </td>
<td> <input type="TEXT" name='.$b.' size="80"> </td>
</tr>');
}
}
echo('<tr>
<td> </td>
<td> <input type="SUBMIT" value="Send"> </td>
</tr>
</table>');
}
dans le code de cette function il y a ma boucle foreach que je testais hier sans succes et elle ressemble un peu a ce que tu as propose Obi mais je sais pas pkoi je ne vois pas apparaitre le formulaire que je voulais creer.
J'ai aussi suivi ton conseil j'ai aussi fait
echo '<pre>'.print_r($array,true).'</pre>'; et voici le resultat
Array
(
[] => Array
(
[0] =>
)
)
Je suis desolee je comprends pas bien le concept des cles est ce qu avec les cles je pourrai parcourir le tableau design?
Merci encore Obi et JarreWeb pour vos reponses et desolee je
suis une debutante du php
j'ai re construit le tableau de cette maniere et il semble afficher quelque chose quans on fait le
echo '<pre>'.print_r($array,true).'</pre>';
$stm_requirements = array( "design" => array ("Email (please fill in)","Stereo signal file","Sampling frequency","params"), "process" => array ("Stereo_to_Multichannel.php","params"), "display" => array("resultat","param"));
au lieu de faire $design j'ai juste pris le nom de l'array "design"
normalement ca aurait du marcher non?
Je sais pas
echo '<pre>'.print_r($array,true).'</pre>';
$stm_requirements = array( "design" => array ("Email (please fill in)","Stereo signal file","Sampling frequency","params"), "process" => array ("Stereo_to_Multichannel.php","params"), "display" => array("resultat","param"));
au lieu de faire $design j'ai juste pris le nom de l'array "design"
normalement ca aurait du marcher non?
Je sais pas
ok, jarreweb avait bien raison, c'est ton tableau qui est mal construit.
Quand tu ecris en php
Ca veut dire stocke la chaine de caractères 'plonk' dans une variable, que l'on va apeller a. Le $ et le fait que $a soit à gauche du signe égal sont importants.
Pour faire référence au contenu de la variable a, on utilise également $, mais dans une expression, ex:
Maintenant, un tableau, c'est une association d'une clef et d'une valeur: si tu as la clef, tu retrouves la valeur qui y a été précédemment associée; e.g.
Va t'afficher 'J'aime'
A noter que tu aurais pu écrire
Le résultat aurait été le même, vu que la variable a contient 'plonk'
Maintenant, un tableau multi-dimensionnel, ce n'est qu'un tableau contenant des tableaux.
Quand tu écris
Tu crées un tableau $tableau contenant trois éléments ayant chacun pour clef le contenu des variables $design, $process et $display.
Si ces variables sont vides, les trois éléments de ton tableau vont avoir la même clef ayant pour valeur '' (chaîne vide). Les clefs devant être uniques dans les tableaux, il ne conserve alors que la dernière valeur, dans ton cas array($output). Comme ta variable $output est vide, array($output) te crée un tableau avec un élément de clef 0 (par défaut, si on crée un élément sans spécifier sa clef, php met un nombre pour l'identifier, dans l'ordre des ajouts, en commençant par 0) et de valeur ''. Voilà l'explcation de ton
Array
(
[] => Array
(
[0] =>
)
)
C'est à dire un tableau à un élément de clef '' et de valeur : un tableau à un élément de clef 0 et de valeur vide.
Je doute fortement que ceci aye été ton intention. C'est la construction de ton tableau qui est à revoir, avant de se préoccuper d'itérer dessus
Quand tu ecris en php
- Code: Tout sélectionner
$a='plonk';
Ca veut dire stocke la chaine de caractères 'plonk' dans une variable, que l'on va apeller a. Le $ et le fait que $a soit à gauche du signe égal sont importants.
Pour faire référence au contenu de la variable a, on utilise également $, mais dans une expression, ex:
- Code: Tout sélectionner
echo 'J'aime '.$a;
Maintenant, un tableau, c'est une association d'une clef et d'une valeur: si tu as la clef, tu retrouves la valeur qui y a été précédemment associée; e.g.
- Code: Tout sélectionner
$tableau=array('plonk'=>'J'aime', 'céleri'=>'J'aime pô');
echo $tableau['plonk'];
Va t'afficher 'J'aime'
A noter que tu aurais pu écrire
- Code: Tout sélectionner
echo $tableau[$a]
Le résultat aurait été le même, vu que la variable a contient 'plonk'
Maintenant, un tableau multi-dimensionnel, ce n'est qu'un tableau contenant des tableaux.
Quand tu écris
- Code: Tout sélectionner
$tableau= array($design=>array("Email","Signal","Frequence","Params"), $process=>array($email,$stereo,$freq,$params), $display=>array($output));
Tu crées un tableau $tableau contenant trois éléments ayant chacun pour clef le contenu des variables $design, $process et $display.
Si ces variables sont vides, les trois éléments de ton tableau vont avoir la même clef ayant pour valeur '' (chaîne vide). Les clefs devant être uniques dans les tableaux, il ne conserve alors que la dernière valeur, dans ton cas array($output). Comme ta variable $output est vide, array($output) te crée un tableau avec un élément de clef 0 (par défaut, si on crée un élément sans spécifier sa clef, php met un nombre pour l'identifier, dans l'ordre des ajouts, en commençant par 0) et de valeur ''. Voilà l'explcation de ton
Array
(
[] => Array
(
[0] =>
)
)
C'est à dire un tableau à un élément de clef '' et de valeur : un tableau à un élément de clef 0 et de valeur vide.
Je doute fortement que ceci aye été ton intention. C'est la construction de ton tableau qui est à revoir, avant de se préoccuper d'itérer dessus
txikiteo a écrit:jspre quand mm qu'en forgeant je deviendrai forgeronne.
Y'a que ça de vrai. Et aussi: "Cent fois sur le métier renouvellez votre ouvrage".
Une petite lecture régulière de phpfrance et du site officiel si tu ne'es pas hermétique à l'anglais t'aidera à avancer de façon plus rapide.
11 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
Consultez la description détaillée des produits ou services de Google suivants : Google Reader Trends
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum