首页 > 解决方案 > 从 PHP 数组中删除项目 - 仅从主组中

问题描述

我需要从Tennis 1Padel 1资源中搜索并删除特定时间。

我的数组是这样的,

array(2) {
    ["Tennis 1"] => array(1) {
        ["IntervalTime"] => array(7) {
            ["Lun"] => array(11) {
                [0] => string(5)
                "10:00" [1] => string(5)
                "11:00" [2] => string(5)
                "12:00" [3] => string(5)
                "13:00" [4] => string(5)
                "14:00" [5] => string(5)
                "15:00" [6] => string(5)
                "16:00" [7] => string(5)
                "17:00" [8] => string(5)
                "18:00" [9] => string(5)
                "19:00" [10] => string(5)
                "20:00"
            }["Mar"] => array(4) {
                [0] => string(5)
                "12:00" [1] => string(5)
                "13:00" [2] => string(5)
                "14:00" [3] => string(5)
                "15:00"
            }["Mer"] => array(5) {
                [0] => string(5)
                "09:00" [1] => string(5)
                "10:00" [2] => string(5)
                "11:00" [3] => string(5)
                "12:00" [4] => string(5)
                "13:00"
            }["Gio"] => array(5) {
                [0] => string(5)
                "09:00" [1] => string(5)
                "10:00" [2] => string(5)
                "11:00" [3] => string(5)
                "12:00" [4] => string(5)
                "13:00"
            }["Ven"] => array(5) {
                [0] => string(5)
                "09:00" [1] => string(5)
                "10:00" [2] => string(5)
                "11:00" [3] => string(5)
                "12:00" [4] => string(5)
                "13:00"
            }["Sab"] => array(10) {
                [0] => string(5)
                "09:00" [1] => string(5)
                "10:00" [2] => string(5)
                "11:00" [3] => string(5)
                "12:00" [4] => string(5)
                "13:00" [5] => string(5)
                "14:00" [6] => string(5)
                "15:00" [7] => string(5)
                "16:00" [8] => string(5)
                "17:00" [9] => string(5)
                "18:00"
            }["Sun"] => array(10) {
                [0] => string(5)
                "09:00" [1] => string(5)
                "10:00" [2] => string(5)
                "11:00" [3] => string(5)
                "12:00" [4] => string(5)
                "13:00" [5] => string(5)
                "14:00" [6] => string(5)
                "15:00" [7] => string(5)
                "16:00" [8] => string(5)
                "17:00" [9] => string(5)
                "18:00"
            }
        }
    }["Padel 1"] => array(1) {
        ["IntervalTime"] => array(7) {
            ["Lun"] => array(2) {
                [0] => string(5)
                "11:00" [1] => string(5)
                "12:00"
            }["Mar"] => array(2) {
                [0] => string(5)
                "14:00" [1] => string(5)
                "15:00"
            }["Mer"] => array(1) {
                [0] => string(5)
                "11:00"
            }["Gio"] => array(8) {
                [0] => string(5)
                "11:00" [1] => string(5)
                "12:00" [2] => string(5)
                "13:00" [3] => string(5)
                "14:00" [4] => string(5)
                "15:00" [5] => string(5)
                "16:00" [6] => string(5)
                "17:00" [7] => string(5)
                "18:00"
            }["Ven"] => array(1) {
                [0] => string(5)
                "11:00"
            }["Sab"] => array(1) {
                [0] => string(5)
                "11:00"
            }["Sun"] => array(10) {
                [0] => string(5)
                "09:00" [1] => string(5)
                "10:00" [2] => string(5)
                "11:00" [3] => string(5)
                "12:00" [4] => string(5)
                "13:00" [5] => string(5)
                "14:00" [6] => string(5)
                "15:00" [7] => string(5)
                "16:00" [8] => string(5)
                "17:00" [9] => string(5)
                "18:00"
            }
        }
    }
}

要删除的目标是:

Tennis 1 ---> "Mer" ---> "11:00" and "12:00"
Padel 1 ---> "Gio" ---> "12:00" and "14:00".


任何想法将不胜感激。

标签: phparrays

解决方案


您可以使用unsetarray_filter,

    foreach($array["Tennis 1"]["IntervalTime"]["Mar"] as $index => &$value){
        if($value == "11:00" || $value == "12:00"){
            unset($array["Tennis 1"]["IntervalTime"]["Mar"][$index]);
        }
    }
    foreach($array["Padel 1"]["IntervalTime"]["Gio"] as $index => $value){
        if($value == "12:00" || $value == "14:00"){
            unset($array["Padel 1"]["IntervalTime"]["Gio"][$index]);
        }
    }

推荐阅读