猿问

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

我有一个如下所示的多维数组:(抱歉,它是一个大数组,我想显示结构)


  [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]。


慕丝7291255
浏览 104回答 1
1回答

青春有我

是这样的:$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每个项目的所有版本,并返回具有所设置类型的任何版本的项目。
随时随地看视频慕课网APP
我要回答