2013-05-03 42 views
0

我有一个这样的数组。PHP Array和未设置的函数

Array 
    (
     [0] => Array 
      (
       [email] => [email protected] 
       [timestamp] => 2013-05-03 09:20:01 
      ) 

     [1] => Array 
      (
       [email] => [email protected] 
       [timestamp] => 2013-05-03 09:20:23 
      ) 

     [2] => Array 
      (
       [email] => [email protected] 
       [timestamp] => 2013-05-03 09:20:43 
      ) 

    ) 

我希望这样就像这样简单。

Array 
    (
     [0] => [email protected] 
     [1] => [email protected] 
     [2] => [email protected] 
    ) 

我试过未设置的功能,但它仍然无法正常工作。

我不是很大阵列概念,因此我的愚蠢问题! :(

回答

3
foreach($foo as $key=>$value) 
{ 
    $foo[$key] = $value['email']; 
} 
+0

感谢的人..这是supber P +: ) – hjaffer2001 2013-05-03 11:23:21

+0

@ hjaffer2001:你应该考虑接受[walkhand](http:/ /stackoverflow.com/users/1441894/walkhard)回答。过滤器更好,更优雅尊重这个“平坦的foreach”:) – DonCallisto 2013-05-03 11:32:04

6

我认为这将会是更好地使用array_map,而不是unset

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

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

这基本上使用filter功能您输入数组映射到输出数组

1

简单。从你的旧阵列中挑选你想要的东西并放到新的阵列中。

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

var_dump($newArray); 
0

没有必要解除任何设置。刚分配相应的值:

<?php 
$array = array(
     array(
      "email" => '[email protected]', 
      "timestamp" => 2, 
      ), 
     array(
      "email" => '[email protected]', 
      "timestamp" => 3, 
      ), 
); 

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

var_dump($array); 
1
<?php 
$array = Array 
    (
     Array 
      (
       email => '[email protected]', 
       timestamp => '2013-05-03 09:20:01' 
      ), 

     Array 
      (
       email => '[email protected]', 
       timestamp => '2013-05-03 09:20:23' 
      ), 

     Array 
      (
       email => '[email protected]', 
       timestamp => '2013-05-03 09:20:43' 
      ), 

); 


foreach ($array as $array){ 
    $newArray[] = $array['email']; 
} 

var_dump($newArray); 
0

试试这个,

<?php 
    $array= array(
    0 => array 
     (
      'email' => '[email protected]', 
      'timestamp' =>' 2013-05-03 09:20:01' 
     ), 

    1 => array 
     (
      'email'=> '[email protected]', 
      'timestamp' => '2013-05-03 09:20:23' 
     ), 

    2 => array 
     (
      'email'=> '[email protected]', 
      'timestamp' => '2013-05-03 09:20:43' 
     ) 

); 

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

>

你会得到

Array 
    (
    [0] => [email protected] 
    [1] => [email protected] 
    [2] => [email protected] 
    )