2010-03-23 4 views
2

J'ai un tableau, que je voudrais rechercher une valeur et récupérer la clé de tableau si elle existe, mais je ne sais pas comment y arriver. Voici mon tableau:rechercher tableau et obtenir la clé de tableau

Array 
(
    [hours] => Array 
     (
      [0] => 5 
      [1] => 5 
      [2] => 6 
      [3] => 6 
      [4] => 8 
      [5] => 10 
     ) 
) 

J'aimerais rechercher les heures tableau pour 10, si 10 existe dans le tableau, je veux la clé (5) à retourner. Si ça a du sens?

essaie de le faire de façon dynamique de sorte que la chaîne de recherche (10) va changer, mais je me dis que si je peux le faire fonctionner pour le numéro 10, je peux le faire fonctionner avec un nombre variable :)

Répondre

6

array_search est ce dont vous avez besoin.

$var = 10; 
$key = array_search($var, $hours); 
+0

Pas sûr que le second exemple est plus utile que simplement appeler array_search directement? – Camsoft

+0

Votre droite, c'était redondant. Je l'ai enlevé, merci. –

2
$key = array_search($array, 10); 
2

Utilisez la fonction array_search

$key = array_search(10,$aray); // $key will get 5 in your case. 

la syntaxe est:

key = array_search(value_to_search,array); 
0
Syntax : array_search (Search Keyword here , Array here); 

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red 

$key = array_search('green', $array); // $key = 2; 

$key = array_search('red', $array); // $key = 1 
+3

Cette question a déjà eu une réponse acceptée il y a plus de 6 ans. Votre réponse fournit uniquement un guide sur la façon d'utiliser array_search, plutôt que de l'adapter aux données de la question. S'il vous plaît seulement ajouter des réponses alternatives à des questions de longue date quand ils fournissent une nouvelle approche qui ** améliore ** sur la réponse acceptée. –

Questions connexes