0

我有一个像这样的数组:

Array ( 
    [0] => Array ( 
        [A] => khaja.ghc@cdc.com 
        ) 
    [1] => Array ( 
        [A] => bag@example.com 
        ) 
    ) 

是否有任何简单的过程可以在 php 中存储khaja.ghc@cdc.com和存储bag@example.com在数组中?如果是这样,请帮助我。我通过foreach()方法做到这一点,并在获取元素后将它们存储在一个数组中。然后最后通过array_push()方法我得到了所需的数组。但我想我错过了简单的过程。你能帮助我吗 。

4

3 回答 3

0

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

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

你的$array意志看起来就像你想要的那样。

于 2012-11-30T10:40:02.553 回答
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);
于 2012-11-30T10:40:22.210 回答
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通过一个简单的循环,代码将更容易阅读和理解。

于 2012-11-30T10:47:44.827 回答