Bonjour à tous !

Voila mon soucis, j'ai un certain nombre de tableaux au sein d'un même tableau, je vous fais un résumé rapide de l'architecture :

Tableau principal [ niveau 1 ]
Clé : ID => Tableau de données [ niveau 2 ]
Clé : Incrément => $Objet [ niveau 3 ]


Voici comment je génère mon tableau :

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
public function aUsineCommune($commandes_ids){
    $em = $this->getDoctrine()->getManager(); //Récupération de l'entity manager de Symfony2
    $tableUsine = array(); //Instanciation de mon tableau vide
    foreach ($commandes_ids as $commande_id){ //Pour chaque ID que je récupère dans ma fonction
	$commande_detail = $em->getRepository('MON_CHEMIN_CORRECT')->find($commande_id);    //Je récupère mon objet principal 
	if($commande_detail != null){ //Si ce dernier existe
		$produit = $em->getRepository('MON_CHEMIN2_CORRECT')->getUsineByCommande($commande_detail ); //Je récupère un objet qui lui est lié (Sous forme de tableau)
		if($produit){  //S'il existe
			foreach ($produit as $prod){
				$tableUsine[$commande_id][] = $prod->getUsine(); //Je récupère le dernier objet qui m'intéresse dans mon tableau
    			}
    		}    				
    	}
	else{ // Sinon je retourne FALSE
		return false;	
    	}  
    }
[ ... ]
Ce code fonctionne et me renvoi un tableau dont voici un var_dump (simplifié) :

array (size=3)
35738 =>
array (size=1)
0 =>
object(Proxies\__CG__\Ella\SuppliersBundle\Entity\Factory)[1355]
public '__initializer__' =>
object(Closure)[1314]
...
public '__cloner__' =>
object(Closure)[1313]
...
public '__isInitialized__' => boolean false
protected 'id' => string '122' (length=3)
[...]
35681 =>
array (size=1)
0 =>
object(Proxies\__CG__\Ella\SuppliersBundle\Entity\Factory)[1355]
public '__initializer__' =>
object(Closure)[1314]
...
public '__cloner__' =>
object(Closure)[1313]
...
public '__isInitialized__' => boolean false
protected 'id' => string '122' (length=3)
[...]
35680 =>
array (size=1)
0 =>
object(Proxies\__CG__\Ella\SuppliersBundle\Entity\Factory)[1355]
public '__initializer__' =>
object(Closure)[1314]
...
public '__cloner__' =>
object(Closure)[1313]
...
public '__isInitialized__' => boolean false
protected 'id' => string '122' (length=3)
[...]
Voila mon soucis, je dois pour ce tableau renvoyer TRUE si et seulement si tout mes ID ont un objet commun entre eux, (ce qui est le cas ici), pour ce faire, les membres du chat m'on aiguillé vers la fonction array_diff, j'essaie tant bien que mal de l'utiliser, h'y arrive dans mes test en n'utilisant que trois tableau comme mon exemple, cependant, je dois pouvoir gérer les choses de manières dynamique et la, impossible je bloque complètement ... Comment faire évoluer le nombre de paramètres de "array_diff" avec mes bonnes fonctions ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$res = array_diff();
if(count($res) > 0) {
    var_dump($res);
}
Une idée ? Merci d'avance