php - 搜索数组并在找到匹配时返回所有键和值

标签 php arrays

我喜欢对数组执行搜索,并在找到匹配项时返回所有值。数组中的键 [name] 是我正在搜索的内容。

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

如果我搜索John Doe,它就会返回。

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

根据我正在搜索的内容重命名数组会更容易吗?除了上面的数组之外,我还可以生成以下数组。

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;
});

需要 PHP 5.3.x

关于php - 搜索数组并在找到匹配时返回所有键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439905/

相关文章:

java - 使用三重 int 数组

python - Numpy ndenumerate 非常慢。有没有更快的方法在 numpy 的数组上使用条件?

php - .htaccess/php 来流式传输视频?

arrays - 需要将 JSON 数据提取字段配置到 flutter 中的小部件元素

php - 在 php 中列出/或其他数组的数组

javascript - 从 QR Contact 等网站将联系人数据保存到手机

javascript - 使用reduce组排序通过javascript获取并显示json数据

php - 仅使用 PHP 发送类似 AJAX 的发布请求

php - 将不同表中的值相加,从其他表中获取值

java - 基于 Java/Spring 的 Web 服务的替代品