亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 通過屬性名稱從包含對象的數組中刪除元素

PHP 通過屬性名稱從包含對象的數組中刪除元素

PHP
月關寶盒 2023-09-15 21:32:43
我有這個 json 格式,這是我的最終響應,當我從 API 獲取它時,它只有一個屬性名稱。我使用 json_decoe 得到這個apiErrors[    {        PropertyName: "Name1",        DisplayName: "Name1",        Step: "Step1    },        PropertyName: "Name2",        DisplayName: "Name2",        Step: "Step2    }]我想刪除 Step 屬性上帶有“Step2”的項目。在 PHP 中,我使用 foreach 進行迭代并添加顯示和步驟屬性$apiErrors = json_decode(curl_exec($ch));foreach ($apiErrors as $value) {    if ($value->PropertyName == "Name1") {        $value->DisplayName = 'Name1';        $value->Step = 'Step1';    }    if ($value->PropertyName == "Name2") {        $value->DisplayName = 'Name2';        $value->Step = 'Step2';    }}我嘗試這樣做if (($key = array_search("Step2", $apiErrors)) !== false) {    unset($apiErrors[$key]);}但它并沒有刪除任何東西
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

簡單的過濾就可以完成這項工作:


$apiErrors = array_filter(

    $apiErrors,

    function ($v) { return 'Step2' !== $v->Step; }

);


查看完整回答
反對 回復 2023-09-15
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

我知道一開始這很令人困惑,但是如果您使用 PHP ,它不會自動更新該值foreach(),因為它會創建自己的局部變量。您需要&在 前面指定自己$value,如下所示:foreach ($apiErrors as &$value) {。這將確保數組中的值實際發生變化。



查看完整回答
反對 回復 2023-09-15
  • 2 回答
  • 0 關注
  • 112 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號