【问题标题】:Search for names in an assosiative array php在关联数组 php 中搜索名称
【发布时间】:2014-05-16 14:37:20
【问题描述】:

我有一个这样的数组

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

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

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

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

我怎么可能做到这一点?

【问题讨论】:

  • 你有没有尝试过?
  • @cept0:提供玩世不恭而非有益批评的言论并不是特别有建设性,而且在任何情况下,它们通常都不能很好地理解,就像这里一样。您是否认为 OP 不是专家级程序员?如果是这样,请注意这里欢迎初学者。

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


【解决方案1】:

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

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

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

DEMO

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 不。好吧,直到您提供您尝试过的代码示例。
    猜你喜欢
    • 1970-01-01
    • 2019-02-21
    • 2014-08-12
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多