[RESOLU] Boucle for dans chaîne echo

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Boucle for dans chaîne echo

Re: Boucle for dans chaîne echo

par Chris32 » 04 nov. 2016, 00:14

Merci pour ta réponse, c'est vrai que c'est très clair ainsi (je débute donc je tâtonne et balbutie).

Re: Boucle for dans chaîne echo

par or 1 » 04 nov. 2016, 00:09

$data1 = array('A', 'B');
$data2 = array('1', '2', '3');
for($i=0; $i<sizeof($data1); $i++) {  
  for($j=0; $j<sizeof($data2); $j++) {
    echo $data1[$1].$data2[$j].'<br/>';    
  }  
}

Re: Boucle for dans chaîne echo

par vincent.c » 04 nov. 2016, 00:07

Bonsoir,

Le problème ici est surtout au niveau de l'algorithme.

Tu as 2 tableaux: [A, B, C] et [1, 2] (à toi d'adapter comment tu obtient les valeurs). Tu souhaites avoir un résultat du type A1 A2 B1 B2 ...

Tu as besoin de deux notions, savoir parcourir un tableau et savoir afficher des caractères.

Comment parcourir un tableau ? Plusieurs choix possibles, voici les bases: while, for, foreach. Pour parcourir un tableau, il est souvent plus simple d'utiliser la boucle foreach. Il est facilement possible de passer d'une boucle à l'autre.
Pour afficher notre contenu, on va utiliser echo.
<?php
$lettres = ['A', 'B', 'C'];

foreach($lettres as $lettre) {
    echo $lettre;
}
Le résultat de ce script sera alors: ABC

Intégrons alors le deuxième tableau. Que veux tu faire ? Pour chaque lettre, afficher la lettre avec chaque chiffre. On obtient alors en code deux boucles imbriquées.
<?php
$lettres = ['A', 'B', 'C'];
$chiffres = [1, 2];

foreach($lettres as $lettre) {
    foreach($chiffres as $chiffre) {
        echo "$lettre$chiffre<br/>";
    }
}
On obtient le résultat attendu !

Bonne soirée.

Boucle for dans chaîne echo

par Chris32 » 03 nov. 2016, 23:33

Bonjour à tous et toutes. J'ai un problème de syntaxe (ou un problème de php tout court).
J'ai 1 table avec A B C et 1 table avec 1 2. Mon souhait est d'obtenir cette combinaison :
A1
A2
B1
B2
C1
C2
D1
D2
J'ai tenté de faire 2 boucles for l'une dans l'autre, elle fonctionne bien (voici le code utilisé) :
for($i=1; $i<=1; $i++) {
echo $data['Noms1'],
'for($j=1; $j<=1; $j++) {',
$data['Noms2'],
'}',
'<br/>';
}
mais il y a un problème à l'affichage :
Afor($j=1; $j<=1; $j++) {1}
Afor($j=1; $j<=1; $j++) {2}
B($j=1; $j<=1; $j++) {1}
... etc.

Puis-je obtenir un éclairage sur la syntaxe exacte sur ce code et sa faisabilité.
Merci d'avance.