PHP поиск на основе ключа или данных - PullRequest
1 голос
/ 19 апреля 2011
Key | Data
----------
 1  |  A
 2  |  B
 3  |  C

Существует ли структура данных, которая позволяет мне искать данные при наличии ключа или искать ключ при получении данных? Я работаю в PHP, но мне интересно узнать ответы на любой язык.

Ответы [ 3 ]

3 голосов
/ 19 апреля 2011

Если у вас есть это в массиве ..

$array = array('1'=>'A','2'=>'B','3'=>'C');

//Use the key to get the value
echo $array['1'] //Echos A
echo $array['2'] //Echos B
echo $array['3'] //Echos C

//Use the value to get the key
echo array_search('A',$array) //Echos 1
echo array_search('B',$array) //Echos 2
echo array_search('C',$array) //Echos 3
3 голосов
/ 19 апреля 2011

Если это массив в PHP и вы хотите получить данные, основанные на ключе, вы можете использовать array_key_exists () , или если вы хотите, чтобы ключ основывался на данных, I думаю, что вам придется перебрать массив

$myArray = array('key1' => 'var','key2' => 'test');
$data = 'test';
foreach ($myArray as $key => $value) {
    if ($value == $data) {
        echo 'Found it - ' . $key;
    }
}
1 голос
/ 19 апреля 2011

В PHP вы можете использовать Массивы в качестве словарей.

Ваш пример может быть закодирован как

<?php $arr = array("1" => "A", "2" => "B", "3" => "C"); ?>
...