在PHP中重新格式化数组

时间:2012-11-30 10:34:48

标签: php arrays

我有一个像:

这样的数组
Array ( 
    [0] => Array ( 
        [A] => khaja.ghc@cdc.com 
        ) 
    [1] => Array ( 
        [A] => bag@example.com 
        ) 
    ) 

在php中的数组中存储khaja.ghc@cdc.combag@example.com是否有简单的过程?如果是这样,请帮助我。 我通过foreach()方法执行此操作,并在获取元素后将其存储在数组中。最后通过array_push()方法得到了所需的数组。但我想我错过了简单的过程。你能帮帮我吗?

3 个答案:

答案 0 :(得分:0)

您仍然可以使用foreach修改该值。尝试

foreach($array as $key => &$value) {
    if(is_array($value) && isset($value['A'])) $value = $value['A'];
}

并且您的$array看起来像是希望它看起来。

答案 1 :(得分:0)

如果我理解你的问题:

$data = array(array('A' => 'khaja.ghc@cdc.com'), array('A' => 'bag@example.com'));
$result = array();

foreach($data as $element)
  if (is_array($element) && isset($element['A']))
    $result[] = $element['A'];

print_r($result);

答案 2 :(得分:0)

如果您想保存几行代码,可以使用array_mapcreate_function

$a = array(array('A' => 'khaja.ghc@cdc.com'), array('A' => 'bag@example.com'));

$result = array_map(create_function('$x','$y = array_values($x); return $y[0];'), $a))

虽然节省了代码行数,但我不鼓励你采用这种方法。使用简单的foreach循环,代码将更容易阅读和理解。