Loop foreach...

Eléphanteau du PHP | 13 Messages

30 août 2010, 17:36

Bonjour à vous tous,
Comme je l'ai mentionnée dernièrement, je suis un débutant en PHP.
J'essaie de compléter le livre de Larry Ullman. Je suis maintenant à comprendre les « Arrays »
Je crois en avoir saisi une bonne partie, mais je n'arrive pas à bien me représenter la loop « Foreach » dont il parle dans son livre.

Il nous fait faire un calendrier en générant tous les mois à partir d'une commande PHP.
Est-ce que quelqu'un est en mesure de me décortiquer cette commande (ci-dessous)
Je vous en serais très reconnaissant. Merci Mille fois — E. M

echo '<select name="month">';
foreach ($months as $key => $value) {
echo"<option value=\"$key\"> $value</option>\n";
}
Modifié en dernier par End_Mission le 30 août 2010, 18:51, modifié 1 fois.

Eléphant du PHP | 314 Messages

30 août 2010, 17:44

Francais :
Tu as un tableau ( Europe ) avec dedans, des Pays :
0 = France,
1 = Allemagne,
2 = Italie,
ect....
PHP:
$europe = array(0=>"France", 1=>"Allemagne",2=>"Italie", ... );
Tu veux parcourir l'Europe, et écrire les pays qui sont dedans...

Francais :
Je vais parcourir chaque Pays de l'europe, et écrire pour chaqu'un d'entre eux, l'indice associé et le nom
PHP:
foreach ($europe as $index=> $pays) {
    echo $index." - ."$pays." <br />";
}
Cordialement,
Julien - http://laravel.fr/

Eléphanteau du PHP | 13 Messages

30 août 2010, 18:12

Merci je crois comprendre...
Merci beaucoup pour la réponse.
E M

Eléphanteau du PHP | 13 Messages

30 août 2010, 19:03

Désolé de revenir avec ça, mais je crois comprendre comment déterminer les valeurs.
Cependant, j'éprouve toujours un certain problème avec foreach...
Dans le cas du calendrier, si on prend les jours.
$days = range (1,31);
Je comprends que les valeurs des jours sont de 1 à 31. Là ou je me perds c'est avec le deuxième echo...
Le premier echo sert à imprimer le titre du menu déroulant. Mais le deuxième avec l'option value... ça me dit rien!
echo '<select name="day">';
foreach ($days as $value) {
	echo "<option value=\"$value\">
	$value</option>\n";
J'arrive pas à saisir ce que le script PHP fait exactement... :(
Pouvez-vous m'expliquer?
Merci merci

Eléphant du PHP | 314 Messages

30 août 2010, 19:15

As tu déjà fait de l'HTML ?
Cordialement,
Julien - http://laravel.fr/

Eléphanteau du PHP | 13 Messages

30 août 2010, 19:33

Oui oui, j'ai fais et je fais du HTML.

Mais jamais de PHP, je viens de commencer.
Je n'ai jamais vraiment utiliser le tag option value...

Désolé je suis conscient que c'est très basic comme question.

ViPHP
ViPHP | 1996 Messages

31 août 2010, 00:15

Désolé de revenir avec ça, mais je crois comprendre comment déterminer les valeurs.
Cependant, j'éprouve toujours un certain problème avec foreach...
Dans le cas du calendrier, si on prend les jours.
$days = range (1,31);
Je comprends que les valeurs des jours sont de 1 à 31. Là ou je me perds c'est avec le deuxième echo...
Le premier echo sert à imprimer le titre du menu déroulant. Mais le deuxième avec l'option value... ça me dit rien!
echo '<select name="day">';
foreach ($days as $value) {
	echo "<option value=\"$value\">
	$value</option>\n";
J'arrive pas à saisir ce que le script PHP fait exactement... :(
Pouvez-vous m'expliquer?
Merci merci
Cela veut dire
PourChaque valeur du tableau "$days", prends ligne par ligne (pile par pile) en l'appelant "$value" et insére cette $value dans une balise HTML <OPTION>
Avec des variables françaises cela donnerait :
$mois = range (1,31);
echo '<select name="day">';
foreach ($mois as $numero_jour) {
	echo "<option value=\"$numero_jour\">
	$value</option>\n";
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 13 Messages

31 août 2010, 12:42

Merci beaucoup Aureusms, j'ai pigé!
En fait je m'aperçois que de faire le livre en version anglaise, ça ne m'aide pas beaucoup!
Mais là j'ai tout compris!
Au plaisir,
E M