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
)