php - 如果找到此键,则在 foreach 循环上取消设置关联数组
问题描述
我有一个数据数组,我只想检查是否找到了这个键,因为如果是我将取消设置某个数组
这将是我的示例数组:
Array
(
[2019-01-01] => Array(
[1] => Array(
['OLD'] => Array(
[0] => Array(
['id']=>1,
['name']=>full name
)
)
['NEW'] => Array(
[0] => Array(
['id']=>2,
['name']=>full name
)
)
)
)
[2019-01-02] => Array(
[1] => Array(
['OLD'] => Array(
[0] => Array(
['id']=>5,
['name']=>full name
)
)
)
)
)
我有这个代码:
foreach ($my_array as $key=>$val) {
foreach ($val as $key=>$val) {
foreach ($val as $key=>$val) {
// I wanted to check in this part if this array has `$key` OLD and `$key` NEW, if it has new then unset OLD
}
}
}
我的预期结果是如果有 NEW 将删除 OLD,但如果没有 NEW 则保留 OLD 数组。在这里使用的正确array
功能是什么?
解决方案
简单的array_walk()可能会帮助你。例子:
array_walk($arr, function (&$item) {
if(isset($item[1]['OLD'], $item[1]['NEW'])) unset($item[1]['OLD']);
});
推荐阅读
- animation - Flutter:如何修复页面控制器动画错误
- python - 代码对象的 Python 类型提示/注释
- performance - 有没有办法为两个不同的输入文件启动两次相同的 Spring Batch 作业?
- android - 在 Android SQlite 数据库中我收到此错误:E/SQLiteLog: (1) 表 tbl_Individual_Registration 没有名为 MobileNo 的列
- c++ - 为什么二进制搜索不适用于我的测试?
- nestjs - 测试一个重新触发的控制器 API
- java - ActiveProfile 在 Junit5 测试中不起作用
- python - ModelForm 没有指定模型类。姜戈
- rabbitmq - 如何在 RabbitMQ 中将 UnAck 消息移动到就绪状态
- python - 将项目打印为 pdf