如何从PHP中的关联数组中删除二级索引

如何从PHP中的关联数组中删除二级索引

问题描述:

print_r($unique_id);

Array
(
    [0] => Array
        (
            [LeadEmailDetail] => Array
                (
                    [id] => 97
                    [email] => vikastyagismartbuzz8@gmail.com
                )
        )

    [1] => Array
        (
            [LeadEmailDetail] => Array
                (
                    [id] => 93
                    [email] => vikastyagi87@gmail.com
                )
        )

    [2] => Array
        (
            [LeadEmailDetail] => Array
                (
                    [id] => 94
                    [email] => vikastyagismartbuzz9@gmail.com
                )
        )

)

But i want like that

Array
(
    [0] => Array
        (
            [id] => 97
            [email] => vikastyagismartbuzz8@gmail.com
        )

    [1] => Array
        (
            [id] => 93
            [email] => vikastyagi87@gmail.com
        )

    [2] => Array
        (
            [id] => 94
            [email] => vikastyagismartbuzz9@gmail.com
        )

)

print_r($ unique_id); p>

  Array 
(  
 [0] =>数组
(
 [LeadEmailDetail] =>数组
(
 [id] => 97 
 [email] => vikastyagismartbuzz8@gmail.com 
)\  n)
 
 [1] =>数组
(
 [LeadEmailDetail] =>数组
(
 [id] => 93 
 [email] => vikastyagi87@gmail.com  
)
)
 
 [2] =>数组
(
 [LeadEmailDetail] =>数组
(
 [id] => 94 
 [email] => vikastyagismartbuzz9  @ gmail.com 
)
)
 
)
  code>  pre> 
 
 

但我想要那样 p>

 数组
(
 [0] =>数组
(
 [id] => 97 
 [email] => vikastyagismartbuzz8@gmail.com 
)
 
 [1] =  >数组
  (
 [id] =>  93 
 [email] =>  vikastyagi87@gmail.com 
)
 
 [2] => 数组
(
 [id] => 94 
 [email] => vikastyagismartbuzz9@gmail.com 
)
 
)
   code>  pre> 
  div>

Try this:

array_map('array_shift', $unique_id);

Who build the $unique_id array? I would recommend to build it in the form you like

To solve your question ... out of the box quick and dirty

<?php
    $new = array();
    foreach($unique_id as $arr) {
       foreach ($arr['LeadEmailDetail'] as $a) {
         $new[] = $a;
       }
    }
    print_r($new);

try this

foreach($unique_id as $k => $v)
{
    $array[] = array_shift($v);
}

Simple loop does a job for you:

foreach ($array as &$v) {
    $v = current($v);
}
unset($v);

demo

p.s. doesn't create another array (memory leak) like other examples.

print_r( array_column( $unique_id, 'LeadEmailDetail' ) );

Requires PHP >= 5.5.0