如何在不使用foreach循环的情况下将数组转换为所有值

时间:2015-12-30 07:27:37

标签: php arrays loops multidimensional-array

我想在不使用任何循环的情况下转换数组值 我有一个像这样的数组

Array
  (
[0] => Array
       (
        [month] => August
       )

[1] => Array
    (
        [month] => July
     )

[2] => Array
    (
        [month] => October
    )
)

我想将上面的数组转换为格式

Array
(
    [0] => August
    [1] => July
    [2] => October
)

不使用任何循环

2 个答案:

答案 0 :(得分:1)

如果您使用的是PHP 5.5或更高版本,则可以使用array_column功能:

$new_array = array_column($array, 'month');

在旧版本的PHP中,您可以使用array_map

$new_array = array_map(function($x) { return $x['month']; }, $array);

DEMO

答案 1 :(得分:-1)

这是我的代码所以请改变它......并试试这个

 $a = array(0, 4, 5, 7);
// PHP 5.3+ anonmymous function.
$output = array_map(function($val) { return $val+1; }, $a);

print_r($output);
Array
(
    [0] => 1
    [1] => 5
    [2] => 6
    [3] => 8
)

OP编辑:

function doubleValues($a) {
  return array_map(function($val) { return $val * 2; }, $a);
}