Php 如何在不使用foreach循环的情况下转换数组的all值
我想在不使用任何循环的情况下转换数组值 我有一个类似这样的数组Php 如何在不使用foreach循环的情况下转换数组的all值,php,arrays,loops,multidimensional-array,Php,Arrays,Loops,Multidimensional Array,我想在不使用任何循环的情况下转换数组值 我有一个类似这样的数组 Array ( [0] => Array ( [month] => August ) [1] => Array ( [month] => July ) [2] => Array ( [month] => October ) ) 我想把上面的数组转换成下面的格式 Array (
Array
(
[0] => Array
(
[month] => August
)
[1] => Array
(
[month] => July
)
[2] => Array
(
[month] => October
)
)
我想把上面的数组转换成下面的格式
Array
(
[0] => August
[1] => July
[2] => October
)
不使用任何循环这是我的代码,请更改它。。。。试试这个
$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);
}
如果您使用的是PHP 5.5或更高版本,则可以使用以下函数:
$new_array = array_column($array, 'month');
在旧版本的PHP中,可以使用array\u-map
$new_array = array_map(function($x) { return $x['month']; }, $array);
我尝试调用用户函数数组,但它只返回一个值,我想知道为什么要这样做?折叠一个数组来创建多个数组,其中只有一个字符串值,这看起来很愚蠢。你的答案是@MattI,我不理解你的结果。这不是一个单一的变量,它是3个不同的变量。请解释你在问什么-这不清楚。我如何将我的代码更改为这种格式这与问题有什么关系?他没有改变数组中的值。我有一个mysql查询,其中的结果是上面的数组格式,我想将该数组转换为下面的数组格式,并且值是动态的–下面的数组格式不是数组。没什么。它只是在3个不同的数组上调用
print\r
的输出。也许你想要的是数组(“八月”、“七月”、“十月”)
?是的,它调用print\r的输出我想要数组(“八月”、“七月”、“十月”)?