2017-07-17 5 views
1

J'ai un tableau donné ci-dessous ...tableau PHP fusion, supprimer [u]

Array 
(
[0] => Array 
    (
     [u] => Array 
      (
       [id] => 396 
       [first_name] => Gyan 
       [last_name] => sharma 
       [email] => [email protected] 
       [phone_number] => 
      ) 

    ) 

[1] => Array 
    (
     [u] => Array 
      (
       [id] => 589 
       [first_name] => deep 
       [last_name] => sharma 
       [email] => [email protected] 
       [phone_number] => 
      ) 

    ) 
) 

Je veux juste enlever le de chaque tableau, [u], comme tableau ci-dessous.

Array 
(
[0] => Array 
    (
     [id] => 396 
     [first_name] => Gyan 
     [last_name] => sharma 
     [email] => [email protected] 
     [phone_number] => 


    ) 

[1] => Array 
    (
     [id] => 589 
     [first_name] => deep 
     [last_name] => sharma 
     [email] => [email protected] 
     [phone_number] => 

    ) 
) 

Je peux le faire par boucle foreach(), mais il est long processus ..

Quelqu'un peut-il me dire le chemin le plus court pour cela.

Aidez-moi.

Merci à l'avance.

+0

Longue? C'est une seule mission. –

+0

Monsieur .... Et s'il y a des milliers de lignes dans le tableau .. – GYaN

+1

utilise 'array_column()' –

Répondre

0

Vous pouvez utiliser array_map et array_shift pour cela.

$a[0]['u']['name'] = "a"; 
$a[0]['u']['id'] = "a"; 

$a[1]['u']['name'] = "a"; 
$a[1]['u']['id'] = "a"; 



$a = array_map('array_shift', $a); 
print_r($a,1); 

Voici le working example

+0

Clever, bien que cela suppose que «u» est la seule entrée dans le sous-tableau. –

+0

Oui ... Il décale simplement l'index «0» –

+0

Il décale le premier index. Dans la question posée, vous êtes le seul, mais les lecteurs doivent comprendre les limites du code. –

3

Sans foreach:

$new_array = array_map(function($element){ 
    return $element['u']; 
},$old_array); 

var_dump($new_array); 

Avec foreach:

$new_array = []; 
    foreach($old_array as $value){ 
    $new_array[] = $value['u'] 
    } 

    var_dump($new_array) 

$old_array est votre tableau et $new_array est un tableau que vous voulez

+0

lire attentivement la question ... – GYaN

+1

@GyandeepSharma: Ça me va. Qu'est ce qui ne va pas avec ça? –

+0

array_column() c'est ce que je veux .... Merci à @alivetodie – GYaN