在数组中搜索id


Searching id in an array

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

$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。我该怎么做呢?

如果您正在搜索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

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

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

如果值是"Bungalows",它应该打印"Bungalows",如果是"Guest house",它应该打印"Guest house",但如果是"My house",它不应该打印任何东西?

这个应该可以工作:

$my_values = array(
'' => '---',
'12' => 'Bungalows',
'43' => 'Character property',
'277' => 'Guest house',
'49' => 'Flat share'
);
$search = 'Bungalows';
echo in_array($search, $my_values) ? $search : null;

给你

<?php
$array = array(
    'foo'   => 'bar',
    1       => 'this',
    'that'  => 42
);
echo $array[ array_search('that', $array) ]; //42
安东尼。

$my_values[$id]应该有效果