Борьба с крошечной проблемой.
У меня есть массив:
Array ( [0] => [6] => 6 [3] => 5 [2] => 7 ) 
Я проверяю, установлено ли заданное значение в массиве.
 if(in_array(5, $array)) { //do something } else { // do something else } 
Дело в том, что когда он находит значение 5 в массиве, мне действительно нужен ключ для работы в моем «делать что-то».
В этом случае мне нужно установить:
 $key = 3; 
(ключ от найденного значения in_array).
Какие-либо предложения?
  array_search() – это то, что вы ищете. 
 if (false !== $key = array_search(5, $array)) { //do something } else { // do something else } 
  Если вам нужен только ключ первого совпадения, используйте array_search() : 
 $key = array_search(5, $array); if ($key !== false) { // Found... } 
  Если вам нужны ключи всех записей, которые соответствуют определенному значению, используйте array_keys() : 
 $keys = array_keys($array, 5); if (count($keys) > 0) { // At least one match... } 
Вы можете просто использовать это http://www.php.net/manual/en/function.array-search.php
 $key = array_search(5, $array) if ($key !== false) { ... 
Возможно, вы хотите использовать array_search вместо этого, который возвращает false, если значение не найдено и индекс, если значение найдено. Ознакомьтесь с описанием здесь.
Можешь попробовать
 if(in_array(5, $array)) { $key = array_search(5, $array); echo $key; } 
таким образом, вы знаете, что он существует, и если это не так, он не вызывает уведомлений, предупреждений или фатальных ошибок скриптов в зависимости от того, что вы делаете с этим ключом после этого.