Bonsoir à tous,

je dispose de 2 tableaux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
	$r = array(13996174,13996200,13996213,...);
	$c = array(13995858,13995873,13995886,...);
j'aimerai réaliser un matching un peu particulier, je m'explique :
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"

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
                        )
 
                )
l'index 0 à pour valeur l'id 13995858.

Si je vais à l'élément qui a pour id principal "13995858"

Tableau "C" qui a pour liste client tableau "R"

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
                        )
 
                )
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.

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
je devrais me retrouver avec le code suivant et donc également une correspondance à l'index 1 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
 
            [13995873] => stdClass Object
                (
                    [id] => 13995873
                    [listClient] => Array
                        (
                            [0] => ....
                            [1] => 13996174
                            [2] => ....
                        )
 
                )
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
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
                        )
 
                )
ici encore une fois l'index 2 aura pour correspondance l'id principal de l'élément 1

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