Удалить объект из массива объектов в php - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть массив массивов объектов (продуктов), возвращаемых из веб-сервиса, который выглядит примерно так:

array (size=2)
  'productInventory' => 
    array (size=2)
      0 => 
        object(stdClass)[127]
          public 'product_id' => string '267254' (length=6)
          public 'product_name' => string 'Confiteria Doble Cine' (length=21)
          public 'product_sku' => string 'MISIKTFN71P' (length=11)
          public 'category_name' => string 'Cines
' (length=7)
          public 'caT' => string 'BONOS DIGITALES' (length=15)
          public 'provider_id' => string '280' (length=3)
          public 'provider_bussines_name' => string 'Quantum Rewards Coltabaco' (length=25)
          public 'TYPE' => string '5' (length=1)
          public 'ISMONEY' => string '0' (length=1)
          public 'priceM' => string '1014' (length=4)
          public 'priceP' => string '1014' (length=4)
          public 'STOCK' => string '14000' (length=5)
          public 'creationDate' => string '2019-09-05 17:27:16' (length=19)
          public 'FOTO' => string 'http://cache.megastore.com.co/MISIKTFN71P_280_20190905172720_5d718bc8bb00a.jpg' (length=78)
      1 => 
        object(stdClass)[111]
          public 'product_id' => string '267235' (length=6)
          public 'product_name' => string 'Entrada a Cine Doble 3D' (length=23)
          public 'product_sku' => string 'MIXFAGOWQL4' (length=11)
          public 'category_name' => string 'Cines
' (length=7)
          public 'caT' => string 'BONOS DIGITALES' (length=15)
          public 'provider_id' => string '280' (length=3)
          public 'provider_bussines_name' => string 'Quantum Rewards Coltabaco' (length=25)
          public 'TYPE' => string '5' (length=1)
          public 'ISMONEY' => string '0' (length=1)
          public 'priceM' => string '1665' (length=4)
          public 'priceP' => string '1665' (length=4)
          public 'STOCK' => string '14000' (length=5)
          public 'creationDate' => string '2019-09-05 17:27:15' (length=19)
          public 'FOTO' => string 'http://cache.megastore.com.co/MIXFAGOWQL4_280_20190905172717_5d718bc5840a6.png' (length=78)
  'productsTotal' => 
    array (size=1)
      0 => 
        object(stdClass)[66]
          public 'totalProd' => string '3' (length=1)

Мне нужно удалить продукт (объект) на основе значения product_sku , но я все еще не могу это сделать, вот что у меня есть:

 foreach($array as $k=>$v) { 
        if($k == "productInventory"){
          foreach ($array[$k] as $key=>$value) { 
            if ($key === "product_sku" && $value === "MISIKTFN71P") { 

                unset($array[$k]); //Delete from Array 
            }
          }
        }
    }

Любая подсказка или помощь будут с благодарностью.

1 Ответ

0 голосов
/ 30 апреля 2020
foreach ($array["productInventory"] as $k => $product) {
    if ($product->product_sku === "MISIKTFN71P") {
        unset($array["productInventory"][$k]);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...