当前位置: 首页 > 知识库问答 >
问题:

搜索PHP数组值[重复]

容宏逸
2023-03-14
"cuisines": [
            {
                "id": 61,
                "name": "mexican"
            },
            {
                "id": 63,
                "name": "Indian"
            },
            {
                "id": 64,
                "name": "Thai"
            }
        ],

我想在数组中搜索,就像当我用“m”新数组搜索时一样。

"cuisines": [
                {
                    "id": 61,
                    "name": "mexican"
                }
            ],

我怎么能那么做?

有什么建议吗?

谢谢

共有2个答案

洪伟彦
2023-03-14

array_filter可以解决问题。示例

<?php
$data = '{"cuisines": [
    {
        "id": 61,
        "name": "mexican"
    },
    {
        "id": 63,
        "name": "Indian"
    },
    {
        "id": 64,
        "name": "Thai"
    }
]}';

$data = json_decode($data, true);
$search = 'm';
$data = array_filter($data['cuisines'], function ($item) use ($search) {
    return !!(false !== strpos($item['name'], $search));
});

print '<pre>';
print_r($data);
龙星辰
2023-03-14

您可以使用阵列过滤器和stripos:

$search = 'm';

$array = [
    "cuisines" => [
            [
                "id" => 61,
                "name" => "mexican"
            ],
            [
                "id" => 63,
                "name" => "Indian"
            ],
            [
                "id" => 64,
                "name" => "Thai"
            ]
        ],
];

$array['cuisines'] = array_filter($array['cuisines'], function ($item) use ($search) {
    return stripos($item['name'], $search) !== false;
});
 类似资料:
  • 问题内容: 我有一个要在其中搜索并获取数组键的数组。 例子 假设我们有以下二维数组: 函数调用(第一个用户的uid)应返回。 函数调用应返回。 我尝试进行循环,但是我想要更快的执行代码。 问题答案: function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val[‘uid’] === $id) { re

  • 我有一个数组,我想在其中搜索,并获取数组的键。 假设我们有以下2维数组: 函数调用(第一个用户的uid)应返回。 函数调用应该返回。 我试着做循环,但我想要一个执行速度更快的代码。

  • 我开发了一个程序,获取包含用户id及其技能的用户技能数组,该数组如下: 关键是user_id,值是技能数组,现在我想搜索有两个值的user_id:english或word,我希望返回17,16,我该怎么做,谢谢你的帮助:)

  • 我正在从flickrs API获取一些JSON。我的问题是exif数据的顺序因相机而异。所以我不能硬编码一个数组号来获得,例如,下面的相机型号。PHP是否有任何内置方法来搜索关联数组值并返回匹配数组?在下面的示例中,我想搜索

  • 问题内容: 我有我必须取消一些索引的数组,所以现在看起来像 如您所见,[2]丢失了,我需要做的就是重置索引,因此它们显示为[0]-[3]。 问题答案: 使用。

  • 问题内容: 我有这个多维数组。我需要搜索它,仅返回与“ slug”的值匹配的键。我知道还有其他有关搜索多维数组的线程,但是我对这些情况的理解还不够。非常感谢您的帮助! 所以我需要一个像这样的函数: 这是数组: 问题答案: 很简单: