基于密钥或数据的PHP查找

时间:2011-04-19 17:59:18

标签: php data-structures lookup-tables

Key | Data
----------
 1  |  A
 2  |  B
 3  |  C

是否有数据结构允许我在给定密钥时查找数据,或者在给定数据时查找密钥?我在PHP工作,但我很好奇任何语言的答案。

3 个答案:

答案 0 :(得分:3)

如果它是PHP中的数组,并且您希望根据密钥获取数据,则可以使用array_key_exists(),或者如果您想要基于数据的密钥,我认为你必须遍历数组

$myArray = array('key1' => 'var','key2' => 'test');
$data = 'test';
foreach ($myArray as $key => $value) {
    if ($value == $data) {
        echo 'Found it - ' . $key;
    }
}

答案 1 :(得分:3)

如果你有一个数组..

$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

答案 2 :(得分:1)

在PHP中,您可以使用Arrays作为词典。

您的示例可以编码为:

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