簡體   English   中英

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 $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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM