我正在尝试过滤并删除与特定值匹配的数组。我从 API 获取 JSON,然后使用 PHP json_decode 对其进行解码。它显示得很好,但它给出了我不想要的值。JSON 文件 = https://pastebin.com/raw/7yW1CEdu我正在使用以下 foreach 语句,该语句可以工作并显示我需要的每个统计数据的数据(为了专注于删除数组,我已将其剥离):<?php foreach($json['response']['data'] as $item) { $newarray = array_filter($item['competitionName'], function($var) { return ($var != 'Junior SS Premiership Zone 3'); }); }?>这就是我希望它与当前外观相比的样子 - https://gyazo.com/d8654cc939dba9e0e52f06e66f489323我的 array_filter 代码有什么问题?我希望它删除任何明确声明的数组: "competitionName":"Junior SS Premiership Zone 3"因此该数组中的任何数据都不会在 foreach 中处理。谢谢!
1 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
$item['competitionName']是一个字符串,而不是字符串数组。我想你想要的是:
$data = array_filter($json['response']['data'], function ($item) {
return $item['competitionName'] != 'Junior SS Premiership Zone 3';
});
foreach ($data as $item) {
// display the data
}
或者不要理会过滤器,只需在主循环中检查它并跳过它。
foreach ($json['response']['data'] as $item) {
if ($item['competitionName'] == 'Junior SS Premiership Zone 3') {
continue;
}
// process the item
}
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消