Affichage en infinité de fois
emmanuelle_
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
jeremy.s Messages postés 1226 Date d'inscription Statut Membre Dernière intervention -
jeremy.s Messages postés 1226 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai besoin de comparer 2 tableaux multidimensionnel
voici mon code :
foreach( $tab1 as $key11 => $val1) {
foreach( $val1 as $key111 => $val2) {
foreach( $val2 as $key1 => $val) {
foreach($tab as $keyy=>$value1){
foreach($value1 as $keyyy=>$value2){
foreach($value2 as $key=>$value){
if($val!==$value){
echo $val
}
}
}
}
}
}
pour juste affiche ceux qui sont pas en commun mais il les affiche en infinité de fois je ne sais pas pourquoi; :(:(:(
Merci pour votre aide
j'ai besoin de comparer 2 tableaux multidimensionnel
voici mon code :
foreach( $tab1 as $key11 => $val1) {
foreach( $val1 as $key111 => $val2) {
foreach( $val2 as $key1 => $val) {
foreach($tab as $keyy=>$value1){
foreach($value1 as $keyyy=>$value2){
foreach($value2 as $key=>$value){
if($val!==$value){
echo $val
}
}
}
}
}
}
pour juste affiche ceux qui sont pas en commun mais il les affiche en infinité de fois je ne sais pas pourquoi; :(:(:(
Merci pour votre aide
A voir également:
- Affichage en infinité de fois
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Problème affichage fenêtre windows 10 - Guide
- Je suis une chose que les garçons utilisent 2 fois par jour et les filles une fois dans leur vie - Forum Loisirs / Divertissements
- Signe fois clavier iphone ✓ - Forum Word
3 réponses
Salut,
On pourrai résumer ce que fais avec deux tableaux simples :
Ici mes tableaux possèdent donc deux différences.
Toi tu fais ça :
1/ Tu prends le "1" du premier tableau et tu le compares à tout le 2e. Il y est une fois dans le deuxième donc ici on va afficher "1111".
2/ Tu prends le "2" [...] : "2222".
3/ Tu prends le "3" [...] : "3333".
4/ Tu prends le "4" [...] : "44444".
5/ TU prends le "5" [...] : "555555".
Toi tu fais pareil mais avec des tableaux à 3 dimensions. Au finale, tu n'affiches pas les clés qui sont en différence, mais tu affiches une clé du premier tableau à chaque fois qu'elle n'est pas la même que n'importe quelle clé du 2e tableau.
En gros, si ton premier tableau ne contient 100 fois "1" et que ton 2e contient 99 fois "0" et une fois "1" alors ton script va t'afficher 100*99 = 9900 fois "1". Tu me suis ?
Mais que veux-tu faire exactement ?
On pourrai résumer ce que fais avec deux tableaux simples :
$tab1 = array(1, 2, 3, 4, 5); $tab2 = array(1, 2, 3, 10, 11);
Ici mes tableaux possèdent donc deux différences.
Toi tu fais ça :
1/ Tu prends le "1" du premier tableau et tu le compares à tout le 2e. Il y est une fois dans le deuxième donc ici on va afficher "1111".
2/ Tu prends le "2" [...] : "2222".
3/ Tu prends le "3" [...] : "3333".
4/ Tu prends le "4" [...] : "44444".
5/ TU prends le "5" [...] : "555555".
Toi tu fais pareil mais avec des tableaux à 3 dimensions. Au finale, tu n'affiches pas les clés qui sont en différence, mais tu affiches une clé du premier tableau à chaque fois qu'elle n'est pas la même que n'importe quelle clé du 2e tableau.
En gros, si ton premier tableau ne contient 100 fois "1" et que ton 2e contient 99 fois "0" et une fois "1" alors ton script va t'afficher 100*99 = 9900 fois "1". Tu me suis ?
Mais que veux-tu faire exactement ?
Salut,
Pour bien comprendre la structure de tes tableaux, fais un print_r de chacun. Peut être que tu y verras plus clair dans façon de les parcourir.
Sinon, Mihawk marque un point : que veux tu faire exactement ?
Car il y a pas mal de fonction dans php pour les tableaux, peut être que ce que tu veux faire existe déjà.
Pour bien comprendre la structure de tes tableaux, fais un print_r de chacun. Peut être que tu y verras plus clair dans façon de les parcourir.
Sinon, Mihawk marque un point : que veux tu faire exactement ?
Car il y a pas mal de fonction dans php pour les tableaux, peut être que ce que tu veux faire existe déjà.
Bonjour;
pour tab quand j'ai fait print_r; il m'affiche ça
Array(
[0] => Array
(
[0] => Array
(
[0] =>mot
)
)
[1] => Array
(
[0] => Array
(
[0] => htt
)
)
[2] => Array
(
[0] => Array
(
[0] =>fac
)
)
[3] => Array
(
[0] => Array
(
[0] => collège
)
)
[4] => Array
(
[0] => Array
(
[0] =>primaire
)
)
)
et pour tab1 il m'affiche:
Array(
[0] => Array
(
[0] => Array
(
[0] =>mot
)
)
[1] => Array
(
[0] => Array
(
[0] => httmap
)
)
[2] => Array
(
[0] => Array
(
[0] =>fac
)
)
[3] => Array
(
[0] => Array
(
[0] => collège
)
)
[4] => Array
(
[0] => Array
(
[0] =>crèche
)
)
)
moi je voudrai récupérer les éléments qui se trouvent dans tab 1 et pas dans tab comme crèche, httmap
pour tab quand j'ai fait print_r; il m'affiche ça
Array(
[0] => Array
(
[0] => Array
(
[0] =>mot
)
)
[1] => Array
(
[0] => Array
(
[0] => htt
)
)
[2] => Array
(
[0] => Array
(
[0] =>fac
)
)
[3] => Array
(
[0] => Array
(
[0] => collège
)
)
[4] => Array
(
[0] => Array
(
[0] =>primaire
)
)
)
et pour tab1 il m'affiche:
Array(
[0] => Array
(
[0] => Array
(
[0] =>mot
)
)
[1] => Array
(
[0] => Array
(
[0] => httmap
)
)
[2] => Array
(
[0] => Array
(
[0] =>fac
)
)
[3] => Array
(
[0] => Array
(
[0] => collège
)
)
[4] => Array
(
[0] => Array
(
[0] =>crèche
)
)
)
moi je voudrai récupérer les éléments qui se trouvent dans tab 1 et pas dans tab comme crèche, httmap
Quel est l'intérêt d'utiliser des tableaux à trois dimensions si tu ne mets qu'une seule valeur dedans à chaque fois ? Autant faire :
Et ainsi tu auras tes différences en faisant :
$tab = array("mot", "htt", "fac", "collège", "primaire"); $tab1 = array("mot", "httmap", "fac", "collège", "crèche");
Et ainsi tu auras tes différences en faisant :
$diff = array_diff($tab1, $tab);
oui c'est ce que je suis en train de faire mais il faut le transférer à un tableau de 2 dimensions car j'ai besoin de séparer les éléments de mon tableau aux sous tableaux c'est pour ça j'ai fait ce code :
$tab1=array(array());
for ($i=0;$i<$nb;$i++){
foreach( $tab[$i] as $key11 => $value1) {
foreach( $value1 as $key111 => $value2) {
foreach( $value2 as $key1111 => $value) {
array_push($tab1, $value);
}
}
}
}
print_r($tab1);
mais sans succès il affiche tout dans un seul tableau mais moi j'ai besoin vraiment de le séparer dans un tableau à deux dimensions:(:(:(
$tab1=array(array());
for ($i=0;$i<$nb;$i++){
foreach( $tab[$i] as $key11 => $value1) {
foreach( $value1 as $key111 => $value2) {
foreach( $value2 as $key1111 => $value) {
array_push($tab1, $value);
}
}
}
}
print_r($tab1);
mais sans succès il affiche tout dans un seul tableau mais moi j'ai besoin vraiment de le séparer dans un tableau à deux dimensions:(:(:(