如何过滤掉零索引,其中包含从MySQL查询返回的行的名称,然后将结果放回到如下所示的数组中。
所需的示例数组:
array:1 [
0 => array:10 [
0 => array:2 [
0 => "2016-01-06"
1 => 10
]
1 => array:2 [
0 => "2016-01-12"
1 => 15
]
]
]
从MySQL查询返回的数组:
array:1 [
0 => array:10 [
0 => array:2 [
0 => "price_1"
1 => 10
]
1 => array:2 [
0 => "day_1"
1 => "2016-01-06"
]
2 => array:2 [
0 => "price_2"
1 => 15
]
3 => array:2 [
0 => "day_2"
1 => "2016-01-12"
]
]
]
答案 0 :(得分:1)
你可以做类似的事情(假设$array
是带有MySQL结果的输入数组,而$output
是我们的转换结果数组):
<?php
$output = array_map(function($value) {
return [$value[1][1], $value[0][1]];
}, $array);
以下是使用您输入的示例:
php > var_dump($array);
array(1) {
[0]=>
array(4) {
[0]=>
array(2) {
[0]=>
string(7) "price_1"
[1]=>
int(10)
}
[1]=>
array(2) {
[0]=>
string(5) "day_1"
[1]=>
string(10) "2016-01-06"
}
[2]=>
array(2) {
[0]=>
string(7) "price_2"
[1]=>
int(15)
}
[3]=>
array(2) {
[0]=>
string(5) "day_2"
[1]=>
string(10) "2016-01-12"
}
}
}
php > $output = array_map(function($value) { return [$value[1][1], $value[0][1]]; }, $array);
php > var_dump($output); array(1) {
[0]=>
array(2) {
[0]=>
string(10) "2016-01-06"
[1]=>
int(10)
}
}
php >