2017-06-23 1 views
1

Je ne peux pas pour la vie de moi comprendre comment rechercher dans un tableau multidimensionnel pour une paire clé => valeur, puis soit A) retourner le tableau auquel il appartient ou un clé paire différente => valeur spécifique qui existe dans le même tableau.Rechercher un tableau multidimensionnel et renvoyer une valeur spécifique à partir de ce tableau

Mon tableau est:

$pages = array(
    array(
     'pageId' => 10, 
     'title' => 'Welcome', 
     'theme' => 'basic' 
    ), 
    array(
     'pageId' => 11, 
     'title' => 'Home', 
     'theme' => 'basic' 
    ), 
    array(
     'pageId' => 12, 
     'title' => 'Login', 
     'theme' => 'basic' 
    ) 
); 

J'ai essayé

$theme = array_search(10, array_column($search, 'pageId')); 

mais il revient toujours un entier et non la valeur basic que je manque. Je voudrais juste la valeur ou un tableau avec la paire clé => valeur ou tout le tableau auquel il appartient.

+0

parlez-vous de ce '' theme '=>' basic''? Voulez-vous 'basic' qui est la valeur du thème? –

Répondre

3

Essayez le plus simple, j'espère que cela vous sera utile. Ici, nous utilisons array_column

Try this code snippet here

$result=array_column($pages,"theme" ,'pageId'); 
if(isset($result[$toSearch])) 
{ 
    echo $result[$toSearch]; 
} 
+1

C'est exactement ce que je cherchais. Merci! –

0

Vous pouvez utiliser array_filter, live demo.

array_filter($array, function($v) use($searchKey, $searchValue) { 
    return $v[$searchKey] == $searchValue; 
});