Подтвердить что ты не робот

Как получить ключ массива из соответствующего значения массива?

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

4b9b3361

Ответ 1

Вы можете использовать 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;

Ответ 2

Для этого вы можете использовать array_keys.

Пример:

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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