在php中从数组中删除元素

Moh*_*mar 0 php arrays

我是php新手,我想从数组中删除元素这是我的数组:

Array
(
[Total] => 21600000
[Items] => Array
    (
        [2-13] => Array
            (
                [Item] => 2
                [PID] => 13
                [UPrice] => 11000000
                [Qty] => 1
                [Total] => 11000000
            )

        [58-167] => Array
            (
                [Item] => 58
                [PID] => 167
                [UPrice] => 5300000
                [Qty] => 1
                [Total] => 5300000
            )

    )

)
Run Code Online (Sandbox Code Playgroud)

我想删除数组元素PID.我试过这个但没有运气: -

    $ShoppingBag =$_SESSION['ssss'];        

    if ($ShoppingBag !== null && $ShoppingBag['Total'] > 0) {          
        foreach ($ShoppingBag['Items'] as $IOrder) {               

          if($IOrder["PID"]==13)
          {                 
              unset($ShoppingBag[$IOrder]);

          }else
          {

          }
        }
    }
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢

Sve*_*lav 5

您可以尝试使用一个简单的数组映射:)

$arr = [
    'Total' => 21600000,
    'Items' => [
                '2-13' => [
                        'Item' => 2,
                        'PID' => 13,
                        'UPrice' => 11000000,
                        'Qty' => 1,
                        'Total' => 11000000
                ],
                '58-167'=> [
                        'Item' => 58,
                        'PID' => 167,
                        'UPrice' => 5300000,
                        'Qty' => 1,
                        'Total' => 5300000
                ]
            ]
    ];

$test = array_map(function($ar) { 
    foreach($ar as $k=>$i) { 
        if( isset($i['PID']) && $i['PID'] == '13') 
            unset($ar[$k]); 
    } 
    return $ar; } , $arr);

var_dump($test);
Run Code Online (Sandbox Code Playgroud)