好的,我假设您有 JSON 提要,例如 $product_feed,如下所示
$json = $json = '[
{
"id": "1388",
"name": "June 2019 - 2014 Kate Hill & 2014 Pressing Matters",
"image": "linkurl",
"month": "June 2019",
"activationdate": "2019-06-01",
"wine1": "2014 Kate Hill Pinot Noir",
"wine2": "2014 Pressing Matters Pinot Noir"
},
{
"id": "8421",
"name": "December 2021 Releases: Apsley Gorge Pinot Noir 2018 $65 & Milton Pinot Noir 2019 $38",
"image": "linkurl",
"month": "December 2021",
"activationdate": "2021-12-03",
"wine1": "Apsley Gorge Pinot Noir 2018",
"wine2": "Milton Pinot Noir 2019"
}
]';
我已经使用 json_decode 函数将其转换为 PHP 数组
$products = json_decode($json);
下一步为了与当前日期进行比较,我已将当前日期转换为时间字符串,如下所示
$current_date = strtotime(date('Y-m-d'));
主循环和取消设置任务如下
foreach ($products as $month => $product) {
if(strtotime($product->activationdate) > $current_date) { // Date comparison
unset($products[$month]); // Here you made a mistake
}
}
在这种情况下,您正在尝试取消设置您应该使用该键取消设置数组元素的键。
数组删除前后打印的完整代码如下:
$json = '[
{
"id": "1388",
"name": "June 2019 - 2014 Kate Hill & 2014 Pressing Matters",
"image": "linkurl",
"month": "June 2019",
"activationdate": "2019-06-01",
"wine1": "2014 Kate Hill Pinot Noir",
"wine2": "2014 Pressing Matters Pinot Noir"
},
{
"id": "8421",
"name": "December 2021 Releases: Apsley Gorge Pinot Noir 2018 $65 & Milton Pinot Noir 2019 $38",
"image": "linkurl",
"month": "December 2021",
"activationdate": "2021-12-03",
"wine1": "Apsley Gorge Pinot Noir 2018",
"wine2": "Milton Pinot Noir 2019"
}
]';
$products = json_decode($json);
$current_date = strtotime(date('Y-m-d'));
print_r($products);
foreach ($products as $month => $product) {
if(strtotime($product->activationdate) > $current_date) { // Date comparison
unset($products[$month]); // Here you made a mistake
}
}
print_r($products);
print_r 的输出是
Array
(
[0] => stdClass Object
(
[id] => 1388
[name] => June 2019 - 2014 Kate Hill & 2014 Pressing Matters
[image] => linkurl
[month] => June 2019
[activationdate] => 2019-06-01
[wine1] => 2014 Kate Hill Pinot Noir
[wine2] => 2014 Pressing Matters Pinot Noir
)
[1] => stdClass Object
(
[id] => 8421
[name] => December 2021 Releases: Apsley Gorge Pinot Noir 2018 $65 & Milton Pinot Noir 2019 $38
[image] => linkurl
[month] => December 2021
[activationdate] => 2021-12-03
[wine1] => Apsley Gorge Pinot Noir 2018
[wine2] => Milton Pinot Noir 2019
)
)
Array
(
[0] => stdClass Object
(
[id] => 1388
[name] => June 2019 - 2014 Kate Hill & 2014 Pressing Matters
[image] => linkurl
[month] => June 2019
[activationdate] => 2019-06-01
[wine1] => 2014 Kate Hill Pinot Noir
[wine2] => 2014 Pressing Matters Pinot Noir
)
)
我希望这就是您想要的!干杯!
你可以玩转代码here