在php中按值搜索和取消数组中的数组

My array look like this :

[cart_seller] => Array
    (
        [3] => Array
            (
                [หมวด1เลือก1 หมวด2เลือก1 1705] => Array
                    (
                    )

            )

        [4] => Array
            (
                [@ 801] => Array
                    (
                    )

            )

    )

[cart_product] => Array
    (
        [หมวด1เลือก1 หมวด2เลือก1 1705] => Array
            (
                [id] => 1705
                [name] => ทดสอบสินค้า
                [image] => p1534937865-VASAVAT LAB N MEDIA LOGO W.png
                [price] => 1111
                [option] => หมวด1เลือก1 หมวด2เลือก1 
                [amount] => 1
            )

        [@ 801] => Array
            (
                [id] => 801
                [name] => โบว์แพรแถบ ร.9 ชนมพรรษา 84 พรรษา ปีพุทธศักราช 2554
                [image] => p1498062217-ส.jpg
                [price] => 90
                [option] => 
                [amount] => 1
            )

    )

I want unset '@ 801' in cart_seller and cart_product

in cart_product use unset($cart['cart_product'][@ 801]);

but in cart_seller it in array [4] what can i do without reference value (4) ?

exapmle unset($cart['cart_seller'][xxxx][@ 801]);

Just loop cart seller array til you find @801.

foreach($cart['cart_seller'] as $key => $c){
    if(array_key_exists("@801",$c)){
        unset($cart['cart_seller'][$key]['@801']);
    }
}