2015-09-02 4 views
3

Я хочу получить значение индекса, с которым он связан.PHP - Обратный ассоциативный массив

Скажем, у меня есть 'fname' => 'Bear'Тогда я получаю делат вводимый пользователя со значением'Bear'Я хочу, чтобы идентифицировать данные посредством использования ассоциации, можно построить массив, который выглядит как это 'fname' <=> 'Bear? Если да, можете ли вы дать мне пример о том, как его использовать?

это мой PHP код

$array = array('lname'=>'Teddy', 'fname' => 'Bear'); 

$user_input = 'Teddy'; 
echo $array[$user_input]; // I want this to give me the value of lname 
          // because lname is associated with Teddy 
+1

[ 'array_search()'] (http://php.net/manual/en/function.array-search.php)? – D4V1D

+0

Или [array_keys] (http://php.net/manual/en/function.array-keys.php): 'echo array_keys ($ array, $ user_input) [0];' [См. Демонстрацию] (https://eval.in/426884) –

ответ

3

Одним из возможных решений является использование array_flip

$array = array('lname'=>'Teddy', 'fname' => 'Bear'); 

$user_input = "Teddy"; 

$flipped = array_flip($array); 

echo $flipped[$user_input]; // lname 
+0

Прохладный. Никогда не слышал об этом. Спасибо брат. – KennethC

3

Простейшее один использует array_search в

echo array_search('Teddy',$array); // lname 
+0

Это намного эффективнее, так как не требуется копировать массив, как в моем ответе. – phpisuber01

+1

Да, это не что иное, как ваш ответ. @ phpisuber01 –