2017-09-25 1 views
2

Je voudrais retirer la clé [Propriétés] du tableau comme ci-dessousSupprimer clé parent dans le tableau multidimensionnel

Je l'ai:

Array(
[Values] => 1 
[List] => Array(
    [Product] => Array( 
     [Details] => Array( 
      [Properties] => Array( 
       [Id] => 1 
      ) 
     ) 
    ) 
) 
) 

Et je voudrais supprimer [propriétés]:

Array(
    [Values] => 1 
    [List] => Array(
    [Product] => Array( 
     [Details] => Array( 
      [ID] => 1 
     ) 
    ) 
) 
) 

J'ai essayé:

$result = array_map(function($sub) { return $sub['Properties']; }, $array); 

et

$array= array_column($array, 'Properties'); 

Malheureusement, cela ne fonctionne pas. Comment puis-je faire cela?

+0

Pouvez-vous modifier votre entrée exemple pour montrer la structure quand il a plus d'une entrée? –

+0

utilise 'unset()' comme dans 'unset ($ myarray ['properties'])' –

+0

@RobertRocha - cela ne fonctionne pas non plus – Adkidus

Répondre

2

droite-avant:

$arr = [ 
    "Values" => 1, 
    "List" => ["Product" => [ "Details" => ["Properties" => ["Id" => 1] ] ] ] 
]; 

$arr['List']['Product']['Details']['Id'] = $arr['List']['Product']['Details']['Properties']['Id']; 
unset($arr['List']['Product']['Details']['Properties']); 

print_r($arr); 

La sortie:

Array 
(
    [Values] => 1 
    [List] => Array 
     (
      [Product] => Array 
       (
        [Details] => Array 
         (
          [Id] => 1 
         ) 
       ) 
     ) 
)