我有以下输入数组,我想展平数组以评估真或假条件。
array (
'all' =>
array (
'0' =>
array (
0 => 'true')
'1' =>
array (
0 => 'true')
'2' =>
array (
0 => 'true')
),
array (
'any' =>
array (
'0' =>
array (
0 => 'true')
'1' =>
array (
0 => 'false')
))
)
我想以下列格式获得输出。
输出数组:
all =>(
true,
true,
true,
any => (true,
false)
)
答案 0 :(得分:0)
有许多PHP内置函数可用于解决您的问题。
您可以使用 array_values ,如下所示:
$result = array_values($array, 'type');
如果你使用的是PHP 5.5+,你可以使用 array_column(),如下所示:
$result = array_column($array, 'type');
您还可以尝试使用array_flatten
或array_map
来降低PHP版本。
array_values
的示例:
<?php
$aNonFlat = array(
1,
2,
array(
3,
4,
5,
array(
6,
7
),
8,
9,
),
10,
11
);
$objTmp = (object) array('aFlat' => array());
array_walk_recursive($aNonFlat, create_function('&$v, $k, &$t', '$t->aFlat[] = $v;'), $objTmp);
var_dump($objTmp->aFlat);
/*
array(11) {
[0]=> int(1)
[1]=> int(2)
[2]=> int(3)
[3]=> int(4)
[4]=> int(5)
[5]=> int(6)
[6]=> int(7)
[7]=> int(8)
[8]=> int(9)
[9]=> int(10)
[10]=> int(11)
}
*/
?>