PHP trouver le tableau de la clé d'index de multiples dimensions de la matrice de mise à jour de la matrice de

Je suis essayant de trouver un moyen de travailler avec ce qui pourrait potentiellement être très grande variété de décors. Ce que je suis en train de faire est de travailler avec le facebook graph api.

Ainsi, lorsqu'un utilisateur s'inscrit à un service que je suis, j'en magasin leur facebook id dans une table, dans mon service. Le but de cela est de permettre à un utilisateur qui s'inscrit à mon service pour trouver des amis, de leurs qui sont sur facebook et qui ont aussi signé par mon service pour en trouver un autre plus facile.

Ce que je suis en train de faire actuellement, c'est de prendre l'objet que l'facebook api retourne pour la /me/friends de données et passer à une fonction que j'ai de la création d'une requête à ma DB pour le code trouvé dans le FB de données qui fonctionne très bien. Aussi, tout ce bit tout se passe j'ai un tableau de la juste facebook id du bâtiment pour que je puisse les utiliser dans une in_array scénario. Que ma requête ne renvoie facebook id correspond à

Bien que ces données est une boucle sur lui-même pour créer la requête j'ai aussi mettre à jour l'objet contient le plus de paires clé/valeur par des éléments de la liste qui est "are_friends"=> false jusqu'à présent à ce point tout cela fonctionne en douceur et relativement rapide, et j'ai mes résultats de la requête. Qui je suis en boucle sur.

Je suis donc à une partie où je veux éviter d'avoir une boucle dans une boucle. C'est là que le in_array() peu. Depuis que j'ai créé le tableau de l'stockés fb id je peux maintenant en boucle sur mes résultats pour voir si il y a un match, et dans ce cas je veux profiter de l'objet d'origine que j'ai ajouté 'are_friends'=>false et modifier ceux dans cet ensemble qui correspondent à la valeur "true" à la place de false. Je ne peux pas penser à une bonne façon sans boucle sur le tableau d'origine à l'intérieur de la boucle qui est les résultats de tableau.

Donc je suis en espérant que quelqu'un peut m'aider à trouver une solution ici, sans que la boucle secondaire

Le tableau jusqu'à ce point que commence comme à l'original ressemble

Array(
    [data](
            [0] => array(
                         are_fb_friends => false
                         name => user name
                         id => 1000
                        )
            [1] => array(
                         are_fb_friends => false
                         name => user name
                         id => 2000
                        )
            [2] => array(
                         are_fb_friends => false
                         name => user name
                         id => 3000
                        )
            )
    )

Selon la demande

C'est mon code actuel de la logique, que je tente de décrire ci-dessus..

public function fromFB($arr = array())
{
    $new_arr = array();
    if((is_array($arr))&&(count($arr) > 0))
    {
        $this->db->select()->from(MEMB_BASIC);
        $first_pass = 0;
        for($i=0;$i < count($arr);$i++)
        {
            $arr[$i]['are_fb_friends'] = "false";
            $new_arr[] = $arr[$i]['id'];
            if($first_pass == 0)
            {
                $this->db->where('facebookID', $arr[$i]['id']);
            }
            else
            {
                $this->db->or_where('facebookID', $arr[$i]['id']);
            }
            $first_pass++;
        }
        $this->db->limit(count($arr));
        $query = $this->db->get();
        if($query->num_rows() > 0)
        {
            $result = $query->result();
            foreach($result as $row)
            {
                if(in_array($row->facebookID, $new_arr))
                {
                    array_keys($arr, "blue");
                }
            }
        }
    }
    return $arr;
}
vous pouvez poster votre double boucle de code, je ne peux pas comprendre tout à fait ce dont vous avez besoin
édité mon post pour refléter le code ainsi

OriginalL'auteur chris | 2013-03-11