为了账号安全,请及时绑定邮箱和手机立即绑定

foreach 或 array_map 在多维数组 PHP 中查找

foreach 或 array_map 在多维数组 PHP 中查找

PHP
慕丝7291255 2022-12-11 09:53:03
我有一个如下所示的多维数组:(抱歉,它是一个大数组,我想显示结构)  [project2020] => Array        (            [title] => title2020            ..            [terms] =>            [releases] => Array                (                    [1.1.4] => Array                        (                            [name] => name2020 1.1.4                            [version] => 1.1.4                            ..                            [terms] => Array                                (                                    [Release type] => Array                                        (                                            [0] => type two                                            [1] => type three                                        )                                )                            [grade] => A                        )                    [1.0.0] => Array                        (                            [name] => name2019 1.0.0                            [version] => 1.0.0                            ..                            [terms] => Array                                (                                    [Release type] => Array                                        (                                            [0] => type one                                            [1] => type three                                        )                                )                            [grade] => D                        )                   .....                )         )[project2019] => Array        ( .......... 我对如何找到我需要的必要信息感到困惑,我不知道我是否可以使用 array_map。我需要存储并查找我的项目是否具有发布类型。考虑到我们每个项目都有 20 多个不同的版本,例如“1.0.0 和 1.1.4”,而我有 10 多个项目。输出应如下所示:我需要按照此命令 [project2020] 检查每个版本 [1.0.0][terms],并在 [Release type] 中检查“type one”,如果存在“type one”,那么我可以返回 [project2020]。
查看完整描述

1 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

是这样的:


$updates = [];

foreach ($myOriginalArray as $key => $project) {

    foreach ($project['releases'] as $release) {

        if (in_array('type one', $release['terms']['Release type'] ?? [])) {

            $updates[] = $key;

            break;

        }

    }

}

return $updates;

这将检查type one每个项目的所有版本,并返回具有所设置类型的任何版本的项目。


查看完整回答
反对 回复 2022-12-11
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信