在关联数组php中搜索名称

时间:2014-05-16 14:37:21

标签: php arrays search preg-replace associative-array

我有一个像这样的数组

  $_SESSION['list'] = array(
 'Romero' => 2,
 'Ronaldinho' => 4,
  'ronaldo'  =>8,
  'messi' => 20
);

现在,如果我输入字符串$str="ro",我想搜索$str中的$_SESSION['list'] 这样它返回

$id[0]=>2
$id[1]=> 4
$id[2]=> 9

$name[0]=> 'Romero'
$name[1]=> 'Ronaldinho'
$name[2]=> 'ronaldo'

我怎么可能这样做?

2 个答案:

答案 0 :(得分:2)

只需循环遍历数组,看看每个索引中是否存在搜索字符串。

$id = array();
$name = array();

foreach($_SESSION['list'] as $key => $value)
{
    if(strpos(strtolower($key), strtolower($str)) !== FALSE)
    {
        $id[] = $value;
        $name[] = $key;
    }
}

DEMO

答案 1 :(得分:1)

您可以通过$_SESSION['list']比较$str的密钥进行预告。如果比较为真,则array_push键和新数组的值。