Bonsoir à tous,
je dispose de 2 tableaux
j'aimerai réaliser un matching un peu particulier, je m'explique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $r = array(13996174,13996200,13996213,...); $c = array(13995858,13995873,13995886,...);
Il me faut pour chaque id du tableau "r" une liste d'id client soit le tableau "c"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $matching=array(); foreach ($r as $cle=>$rec) { if($cle != 0) { $lastElement = array_shift($c); $tabs = array_push($c, $lastElement); } $matching[$rec]->id = $rec; $matching[$rec]->listClient = $c; }
Le code suivant me retourne bien mes 3 premiers éléments.
chaque id du tableau "r" disposent d'une liste client décalé d'un élément.
le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 [13996174] => stdClass Object ( [id] => 13996174 [listClient] => Array ( [0] => 13995858 [1] => 13995873 [2] => 13995886 ) ) [13996200] => stdClass Object ( [id] => 13996200 [listClient] => Array ( [0] => 13995873 [1] => 13995886 [2] => 13995858 ) ) [13996213] => stdClass Object ( [id] => 13996213 [listClient] => Array ( [0] => 13995886 [1] => 13995858 [2] => 13995873 ) )
Je réalise la même opération, cette fois ci chaque id du tableau "c" à pour liste client le tableau "r". (donc l'inverse..)
je me retrouve donc avec 6 éléments dont chacun dispose d'une liste client.
Le résultat final que je n'arrive pas à obtenir pour le moment est le suivant :
si je reprends mon premier élément généré.
Element 1
Tableau "R" qui a pour liste client tableau "C"
l'index 0 à pour valeur l'id 13995858.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [13996174] => stdClass Object ( [id] => 13996174 [listClient] => Array ( [0] => 13995858 [1] => 13995873 [2] => 13995886 ) )
Si je vais à l'élément qui a pour id principal "13995858"
Tableau "C" qui a pour liste client tableau "R"
je retrouve bien pour l'index 0 l'id 13996174 (soit l'id principal de l'élément 1 plus haut) j'ai donc bien une correspondance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [13995858] => stdClass Object ( [id] => 13995858 [listClient] => Array ( [0] => 13996174 [1] => 13996200 [2] => 13996213 ) )
il me faudrait donc la même chose pour l'index suivant de l'élément 1
soit l'index 1 :
si je vais à l'élément dont l'id principal est 13995873
Code : Sélectionner tout - Visualiser dans une fenêtre à part [1] => 13995873
je devrais me retrouver avec le code suivant et donc également une correspondance à l'index 1 de l'élément 1
et ainsi de suite ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [13995873] => stdClass Object ( [id] => 13995873 [listClient] => Array ( [0] => .... [1] => 13996174 [2] => .... ) )
ici encore une fois l'index 2 aura pour correspondance l'id principal de l'élément 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 index 2 du premier élément : [2] => 13995886 si on prend l élément dont l id principal est l index 2 : [13995886] => stdClass Object ( [id] => 13995886 [listClient] => Array ( [0] => .... [1] => .... [2] => 13996174 ) )
et ceci est valable pour chaque élément...
je sais pas si j'ai réussi à expliquer mon problème de manière clair !
merci pour vos réponses![]()
Partager