首页 > 解决方案 > PHP - 多维数组中的高级搜索值

问题描述

我正在制作一个PHP可以显示BackupJobs上周的页面。我从一个将其转换为JSON格式的 API 获得所有备份作业。

我被困在我有一个BackupSetID并且想要将所有BackupJobs与该匹配的内容回显BackupSetID到页面上的点上。

大批:

{

    "Status": "OK",
    "Data": [
        {
            "BackupJob": [
                "2019-07-30-16-00-00",
                "2019-07-30-17-00-00",
                "2019-07-30-18-00-00",
                "2019-07-30-21-00-00",
                "2019-07-30-23-00-00",
                "2019-07-31-08-00-00",
                "2019-07-31-09-00-00",
                "2019-07-31-10-00-00",
                "2019-07-31-11-00-00",
                "2019-07-31-12-00-00",
                "2019-07-31-13-00-00",
                "2019-07-31-14-00-00",
                "2019-07-31-15-00-00",
                "2019-07-31-16-00-00",
                "2019-07-31-17-00-00",
                "2019-07-31-18-00-00",
                "2019-07-31-21-00-00",
                "2019-07-31-23-00-00",
                "2019-08-01-08-00-00",
                "2019-08-01-09-00-00"
            ],
            "BackupSetID": "1369227132163",
            "Removed": false
        },
        {
            "BackupJob": [
                "2019-07-22-18-00-00",
                "2019-07-22-22-00-00",
                "2019-07-23-10-00-00",
                "2019-07-23-14-00-00",
                "2019-07-23-18-00-00",
                "2019-07-23-22-00-00",
                "2019-07-24-10-00-00",
                "2019-07-24-14-00-00",
                "2019-07-24-18-00-00",
                "2019-07-24-22-00-00",
                "2019-07-25-10-00-00",
                "2019-07-25-14-00-00",
                "2019-07-25-18-00-00",
                "2019-07-25-22-00-00",
                "2019-07-26-10-00-00",
                "2019-07-26-14-00-00",
                "2019-07-26-18-00-00",
                "2019-07-26-22-00-00",
                "2019-07-27-10-00-00",
                "2019-07-27-14-00-00",
                "2019-07-27-18-00-00",
                "2019-07-27-22-00-00",
                "2019-07-28-10-00-00",
                "2019-07-28-14-00-00",
                "2019-07-28-18-00-00",
                "2019-07-28-22-00-00",
                "2019-07-29-10-00-00",
                "2019-07-29-14-00-00",
                "2019-07-29-18-00-00",
                "2019-07-29-22-00-00",
                "2019-07-30-10-00-00",
                "2019-07-30-14-00-00",
                "2019-07-30-18-00-00",
                "2019-07-30-22-00-00",
                "2019-07-31-10-00-00",
                "2019-07-31-14-00-00",
                "2019-07-31-18-00-00",
                "2019-07-31-22-00-00"
            ],
            "BackupSetID": "1369227067996",
            "Removed": false
        }
    ]

}

我将如何仅显示BackupJobs上周的(例如)BackupSetID = 1369227067996:?

我试图在值之间进行搜索。但没有结果。

标签: phparraysjsonapisearch

解决方案


您可以在同一个foreach循环中组合 2 个条件:

$backupSetID = 1369227067996; // id to search on
$lastWeekTime = date("Y-m-d-h-i", strtotime('sunday last week'));
foreach ($arr["data"] as $e) {
    if ($e["BackupSetID"] == $backupSetID) { // check if ID match
        foreach($e["BackupJob"] as $job)
            if ($job > $lastWeekTime) echo "Found $job \n"; // check for last week
    }
}

推荐阅读