php unset foreach 循环不是取消设置数组的值
php unset foreach loop is not unsetting the value of array
我在 php 7.2 中有以下代码:
foreach ($data->certificates as $k => $certificate) {
if (empty($certificate['testCertificateId'])) {
unset($data->certificates[$k]);
}
}
$data
是一个关联数组。每个$certificate
都是一个关联数组。
如果 $certificate
数组没有键 testCertificateId
,我想从 $data->certificates
中删除 $certificate
。
我不知道为什么,但此代码不适用于 php 7.2。在 7.0 上它确实有效!
有人可以帮忙吗?这已经让我难受了 2 天...
这是您当前代码的解决方法:
$tempArr = [];
foreach ($data->certificates as $k => $certificate) {
if (!empty($certificate['testCertificateId'])) {
$tempArr[$k] = $data->certificates[$k];
}
}
$data->certificates = $tempArr;
我在 php 7.2 中有以下代码:
foreach ($data->certificates as $k => $certificate) {
if (empty($certificate['testCertificateId'])) {
unset($data->certificates[$k]);
}
}
$data
是一个关联数组。每个$certificate
都是一个关联数组。
如果 $certificate
数组没有键 testCertificateId
,我想从 $data->certificates
中删除 $certificate
。
我不知道为什么,但此代码不适用于 php 7.2。在 7.0 上它确实有效!
有人可以帮忙吗?这已经让我难受了 2 天...
这是您当前代码的解决方法:
$tempArr = [];
foreach ($data->certificates as $k => $certificate) {
if (!empty($certificate['testCertificateId'])) {
$tempArr[$k] = $data->certificates[$k];
}
}
$data->certificates = $tempArr;