En utilisant deux tableaux associatifs et une boucle foreach imbriquée, je veux faire écho à ce texte:
1abcd
2abcd
3abcd
4abcd
Mais d'une manière ou d'une autre, j'obtiens juste 4d
. J'ai revu le code plusieurs fois et je sais que ce doit être quelque chose de très simple, mais je ne trouve pas le problème.
<?php
$output = "";
$list1 = array('1' => '1', '1' => '2', '1' => '3', '1' => '4');
$list2 = array('a' => 'a', 'a' => 'b', 'a' => 'c', 'a' => 'd');
foreach($list1 as $key1 => $value1)
{
$letters = '';
foreach($list2 as $key2 => $value2)
{
$letters .= $value2;
}
$output .= $value1;
$output .= $letters . '<br>';
}
echo $output;
S'il vous plaît, aidez-moi à résoudre ce problème !! Je vous remercie
2 réponses
Pour vérifier votre baie, procédez comme suit
echo "<pre>";
echo print_r($list1);
echo "</pre>";
Il renverra ceci
Array
(
[1] => 4
)
1
Afin d'obtenir la réponse que vous souhaitez, vous devez d'abord ajuster votre tableau associatif à quelque chose comme ça
$list1 = array('1' => '1', '2' => '2', '3' => '3', '4' => '4');
$list2 = array('a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd');
Ensuite, vous pouvez continuer et faire ceci
$array = array();
foreach($list1 as $key1 => $value1){
$letters = '';
foreach($list2 as $key2 => $value2){
$letters .= $value2;
}
$output .= $value1;
$output .= $letters . '<br>';
}
echo $output;
J'espère que ça aide.
Notez que vous dites que vous construisez un tableau associatif, «associatif» signifie que chaque clé «unique» aura une valeur. Dans votre tableau, vous remplacez sans cesse vos valeurs, rappelez-vous que la clé est comme le «lieu» où vous souhaitez stocker la valeur. Si vous stockez une valeur différente au même endroit ou dans la même clé, elle sera remplacée.
La bonne manière:
$list1 = array('0' => '1', '1' => '2', '2' => '3', '3' => '4');
$list2 = array('a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd');
Si vous voyez qu'il y a un endroit ou une clé différent pour chaque valeur.
Si vous exécutez votre code, cela devrait fonctionner maintenant. Et si vous faites attention, vous remarquerez que vous n'avez même pas besoin de lettres comme clés.
$list1 = array('0' => '1', '1' => '2', '2' => '3', '3' => '4');
$list2 = array('0' => 'a', '1' => 'b', '2' => 'c', '3' => 'd');
En essayant les deux, vous en saurez plus sur les tableaux. Ce sont les bases mêmes.
Questions connexes
De nouvelles questions
php
PHP est un langage de script largement utilisé, de haut niveau, dynamique, orienté objet et interprété, principalement conçu pour le développement Web côté serveur. Utilisé pour les questions sur le langage PHP.