2016-10-02 172 views
1

我有一個數組,字符串和數組具有相同的名稱「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

這是一個JSON,對不對? –

+0

你必須知道數組是如何工作的,這個多維數組可以通過刪除來刪除:array [0] [0],array [0] [1] – mohade

+0

'for(i = 0; i jonzee

回答

0

你必須知道如何陣列的工作,這個多維數組您可以通過刪除刪除:數組[0] [0],數組[0] [1]

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

你可能有兩個嵌套做地圖如下;

var arr = [{ 
 
     "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 
 
     } 
 
     ] 
 
    }]; 
 
    
 
function delNestedItems(a){ 
 
return a.map(o => (o.items.map(q => (delete q.items,q)),o)); 
 
} 
 

 
console.log(delNestedItems(arr))

0

你可以使用一個遞歸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); 

看到它在eval.in運行。

輸出是:

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

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

       ) 

     ) 

)