Как получить массив KEY из VALUE?

Вы можете легко получить значение массива из такого ключа: $value = array[$key] но что, если у меня есть значение, и я хочу ключ. Каков наилучший способ получить его?

Related of "Как получить массив KEY из VALUE?"

Вы можете использовать array_search() чтобы найти первый соответствующий ключ.

Из руководства:

 $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); $key = array_search('green', $array); // $key = 2; $key = array_search('red', $array); // $key = 1; 

Для этого вы можете использовать функцию array_keys .

Пример:

 $array = array("blue", "red", "green", "blue", "blue"); print_r(array_keys($array, "blue")); 

Это даст ключ от массива для значения blue

 $arr = array('mango', 'orange', 'banana'); $a = array_flip($arr); $key = $a['orange']; 

Не очень простой способ. Прокрутите ключи до тех пор, пока не найдете массив [$ key] == $ value

Если вы делаете это часто, создайте обратный массив / хэш, который отображает значения обратно в ключи. Имейте в виду, что несколько ключей могут отображаться на одно значение.

Значения массива могут быть дублирующими, поэтому он не даст вам точных ключей. Однако, как я думаю, все в порядке, как перебрать и прочитать ключи