PHP数组和unset函数

PHP数组和unset函数,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个这样的数组 Array ( [0] => Array ( [email] => abc@gmail.com [timestamp] => 2013-05-03 09:20:01 ) [1] => Array ( [email] => def@g

我有一个这样的数组

    Array
    (
        [0] => Array
            (
                [email] => abc@gmail.com
                [timestamp] => 2013-05-03 09:20:01
            )

        [1] => Array
            (
                [email] => def@gmail.com
                [timestamp] => 2013-05-03 09:20:23
            )

        [2] => Array
            (
                [email] => ghi@gmail.com
                [timestamp] => 2013-05-03 09:20:43
            )

    )
我希望这是像这样简单

    Array
    (
        [0] => abc@gmai1.com
        [1] => def@gmail.com
        [2] => ghi@gmail.com
    )
我已经尝试了unset函数,但它仍然不能像我预期的那样工作


我对数组概念不感兴趣,因此我提出了一些愚蠢的问题!!!:(

我认为最好使用,而不是
unset

function filter($x)
{
    return $x['email'];
}

$emails = array_map('filter', $your_array);

这基本上会使用
filter
函数将您的输入数组映射到输出数组。

只需从您的旧数组中选择您想要的内容并将其放入新数组中即可

foreach($foo as $key=>$value)
{
  $foo[$key] = $value['email'];
}
$newArray = array();
foreach($oldArray as $containedArray)
{
  $newArray[] = $containedArray['email'];
}

var_dump($newArray);

无需取消设置任何内容。只需指定适当的值:

<?php
$array = array(
      array(
            "email" => 'aaa@aaa.com',
            "timestamp" => 2,
            ),
      array(
            "email" => 'bbb@aaa.com',
            "timestamp" => 3,
            ),
);

foreach($array as $key => $value)
{
      $array[$key] = $value["email"];
}

var_dump($array);
试试这个

 <?php
  $array= array(
    0 => array
        (
           'email' => 'abc@gmail.com',
            'timestamp' =>' 2013-05-03 09:20:01'
        ),

    1 => array
        (
            'email'=> 'def@gmail.com',
            'timestamp' => '2013-05-03 09:20:23'
        ),

    2 => array
        (
            'email'=> 'ghi@gmail.com',
            'timestamp' => '2013-05-03 09:20:43'
        )

 );

foreach($array as $key => $data)
{
$array[$key]=$data['email'];
}
  print_r($array);  

@hjaffer2001:你们应该考虑接受这个答案。过滤器更好更优雅,尊重这个“扁平的foreach”:
 <?php
  $array= array(
    0 => array
        (
           'email' => 'abc@gmail.com',
            'timestamp' =>' 2013-05-03 09:20:01'
        ),

    1 => array
        (
            'email'=> 'def@gmail.com',
            'timestamp' => '2013-05-03 09:20:23'
        ),

    2 => array
        (
            'email'=> 'ghi@gmail.com',
            'timestamp' => '2013-05-03 09:20:43'
        )

 );

foreach($array as $key => $data)
{
$array[$key]=$data['email'];
}
  print_r($array);  
   Array
    (
     [0] => abc@gmai1.com
     [1] => def@gmail.com
     [2] => ghi@gmail.com
    )