[英]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
$data->certificates
。
我不知道為什么,但是此代碼在php 7.2上不起作用。 在7.0上可以正常工作!
誰能幫忙嗎? 已經殺了我兩天了...
這是您當前代碼的解決方法:
$tempArr = [];
foreach ($data->certificates as $k => $certificate) {
if (!empty($certificate['testCertificateId'])) {
$tempArr[$k] = $data->certificates[$k];
}
}
$data->certificates = $tempArr;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.