在数组中搜索id

时间:2013-06-09 07:55:12

标签: php arrays search

我需要搜索数组并打印匹配的值。 我的数组将是:

$my_values = array(
'' => '---',
'12' => 'Bungalows',
'43' => 'Character property',
'277' => 'Guest house',
'49' => 'Flat share'
);

这是我的数组,如果它与id匹配,我需要显示名称。假设,如果id为12,则需要显示Bungalows。 我知道这个:

$key = array_search('Bungalows', $my_values);

这段代码给了我12但是我需要输出'Bungalows'而不是12。我怎么会这样做?

5 个答案:

答案 0 :(得分:2)

如果您正在搜索12,请尝试以下操作:

$search = 12;

if (isset($my_values[$search])) {
  echo $my_values[$search]; // Should output Bungalows
}
else {
  echo 'Not found!';
}

如果您正在搜索Bungalows,请尝试以下操作:

$search = 'Bungalows';

$key = array_search($search, $my_values);

echo $my_values[$key]; // Should output Bungalows

答案 1 :(得分:1)

您必须检查密钥是否存在,然后打印值,如果为True,

$key = "12";   
if (array_key_exists ( $key, $my_values) )  
{
     echo $my_values[$key];
}

答案 2 :(得分:0)

所以,如果价值是“平房”,它应该打印“平房”,如果它的“宾馆”它应该打印“宾馆”,但如果它的“我的房子”它不应该打印任何东西?

这应该有效:

$my_values = array(
'' => '---',
'12' => 'Bungalows',
'43' => 'Character property',
'277' => 'Guest house',
'49' => 'Flat share'
);

$search = 'Bungalows';

echo in_array($search, $my_values) ? $search : null;

答案 3 :(得分:0)

你走了。

<?php
$array = array(
    'foo'   => 'bar',
    1       => 'this',
    'that'  => 42
);

echo $array[ array_search('that', $array) ]; //42

安东尼。

答案 4 :(得分:0)

$my_values[$id]应该做的伎俩