搜索数组并返回所有键和值,当找到匹配 [英] Search array and return all keys and values when match found

查看:143
本文介绍了搜索数组并返回所有键和值,当找到匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想执行一个阵列上搜索,当发现匹配返回的所有值。数组中的键 [名] 是我在做什么上进行搜索。

 阵列(
[0] =>排列
    (
        [ID] => 20120100
        [链接] => www.janedoe.com
        [名] =>李四
    )
[1] =>排列
    (
        [ID] => 20120101
        [链接] => www.johndoe.com
        [名] =>李四
    )

如果我做了一个搜索李四它会返回。

 阵列

    [ID] => 20120101
    [链接] => www.johndoe.com
    [名] =>李四

它会更容易重新命名根据我所寻找的阵列。相反,上述阵列我也可以生成以下。

 阵列(
[李四] =>排列
    (
        [ID] => 20120100
        [链接] => www.janedoe.com
        [名] =>李四
    )
[李四] =>排列
    (
        [ID] => 20120101
        [链接] => www.johndoe.com
        [名] =>李四
    )


解决方案

  $ filteredArray =
array_filter($阵列功能($元素)使用($ searchFor){
  返回使用isset($元素['名'])及和放大器; $元素[名称] == $ searchFor;
});

需要PHP 5.3.x

I like to perform a search on an array and return all values when a match is found. The key [name] in the array is what I am doing a search on.

Array (
[0] => Array
    (
        [id] => 20120100
        [link] => www.janedoe.com
        [name] => Jane Doe
    )
[1] => Array
    (
        [id] => 20120101
        [link] => www.johndoe.com
        [name] => John Doe
    )
)

If I did a search for John Doe it would return.

Array
(
    [id] => 20120101
    [link] => www.johndoe.com
    [name] => John Doe
)

Would it be easier to rename the arrays based on what I am searching for. Instead of the above array I can also generate the following.

Array (
[Jane Doe] => Array
    (
        [id] => 20120100
        [link] => www.janedoe.com
        [name] => Jane Doe
    )
[John Doe] => Array
    (
        [id] => 20120101
        [link] => www.johndoe.com
        [name] => John Doe
    )
)

解决方案

$filteredArray = 
array_filter($array, function($element) use($searchFor){
  return isset($element['name']) && $element['name'] == $searchFor;
});

Requires PHP 5.3.x

这篇关于搜索数组并返回所有键和值,当找到匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆