php - 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
:?
我试图在值之间进行搜索。但没有结果。
解决方案
您可以在同一个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
}
}