Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数组中删除字符串项_Javascript_Php_Arrays_Json_Multidimensional Array - Fatal编程技术网

Javascript 从数组中删除字符串项

Javascript 从数组中删除字符串项,javascript,php,arrays,json,multidimensional-array,Javascript,Php,Arrays,Json,Multidimensional Array,我有一个数组,字符串和数组有相同的名称“item”,一个实例是数组,另一个是数组中的字符串,我想从数组中删除整个“item”字符串 阵列 //JSON [{ "id":"109", "text":"dashboard", "items":[ //to be ignored { "id":"1", "text":"financial_dash

我有一个数组,字符串和数组有相同的名称“item”,一个实例是数组,另一个是数组中的字符串,我想从数组中删除整个“item”字符串

阵列

//JSON



 [{
          "id":"109",
          "text":"dashboard",
          "items":[ //to be ignored
             {
                "id":"1",
                "text":"financial_dashboard",
                "items":"109" //to be deleted
             },
             {
                "id":"108",
                "text":"project_dashboard",
                "items":"109" //to be deleted
             }
          ]
       }]


//Array PHP
(
    [0] => Array
        (
            [id] => 109
            [expanded] =>  true
            [text] => Dashboard
            [items] => Array  //to be ignored
                (
                    [0] => Array
                        (
                            [id] => 1
                            [expanded] =>  true
                            [text] => Financial Dashboard
                            [items] => 109  //to be deleted
                        )

                    [1] => Array
                        (
                            [id] => 108
                            [expanded] =>  true
                            [text] => Project Dashboard
                            [items] => 109  //to be deleted
                        )

                )

        ))

有什么建议吗?

你必须知道数组是如何工作的,这个多维数组你可以通过删除来删除它:数组[0][0]和数组[0][1]

unset($a[0][0]);
unset($a[0][1]);

您可以使用两个嵌套贴图,如下所示

var-arr=[{
“id”:“109”,
“文本”:“仪表板”,
“项”:[//将被忽略
{
“id”:“1”,
“文本”:“财务仪表板”,
“项目”:“109”//待删除
},
{
“id”:“108”,
“文本”:“项目仪表板”,
“项目”:“109”//待删除
}
]
}];
函数delNestedItems(a){
返回a.map(o=>(o.items.map(q=>(删除q.items,q)),o));
}

log(delnestedems(arr))
您可以使用如下递归PHP函数:

function removeItems(&$arr) {
    if (!is_array($arr)) return;
    if (isset($arr["items"]) && is_string($arr["items"])) unset($arr["items"]);
    foreach ($arr as &$value ) removeItems($value);
}
可以这样称呼:

removeItems($arr);
看它继续跑

输出为:

Array
(
    [0] => Array
        (
            [id] => 109
            [text] => dashboard
            [items] => Array
                (
                    [0] => Array
                        (
                            [id] => 1
                            [text] => financial_dashboard
                        )

                    [1] => Array
                        (
                            [id] => 108
                            [text] => project_dashboard
                        )

                )

        )

)

这是一个JSON,对吗?你必须知道数组是如何工作的,这个多维数组你可以通过删除来删除它:数组[0][0],数组[0][1]
for(i=0;i