-4

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

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

4

5 回答 5

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
于 2013-06-09T08:02:25.003 回答
1

您必须检查密钥是否存在,如果为真则打印该值,

$key = "12";   
if (array_key_exists ( $key, $my_values) )  
{
     echo $my_values[$key];
}
于 2013-06-09T08:05:51.440 回答
0

因此,如果值为“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;
于 2013-06-09T07:59:51.357 回答
0

干得好。

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

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

安东尼。

于 2013-06-09T08:01:07.247 回答
0

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

于 2013-06-09T08:01:18.830 回答