我有一个三维数组。我想要一个函数将其转换为单维数组并保留前一个子键。我怎么做?如何将三维数组更改为一维数组(PHP)
array(2) {
[0]=>
array(2) {
[0]=>
array(2) {
["id"]=>
string(1) "4"
["assignedlessons"]=>
string(2) "69"
}
[1]=>
array(2) {
["id"]=>
string(1) "4"
["assignedlessons"]=>
string(3) "308"
}
}
array(2) {
[0]=>
array(2) {
["id"]=>
string(1) "10"
["assignedlessons"]=>
string(2) "50"
}
[1]=>
array(2) {
["id"]=>
string(1) "10"
["assignedlessons"]=>
string(2) "91"
}
}
}
我想把它转换到结构像这样的:
array(0) {
["id"]=>
string(1) "4"
["assignedlessons"]=>
string(2) "69"
}
array(1) {
["id"]=>
string(1) "4"
["assignedlessons"]=>
string(3) "308"
}
array(2) {
["id"]=>
string(1) "10"
["assignedlessons"]=>
string(2) "50"
}
array(3) {
["id"]=>
string(1) "10"
["assignedlessons"]=>
string(2) "91"
}
什么我已经是这个函数:
function toSingleDimentionalArray($array){
$final = array();
foreach($array as $value){
foreach($array as $key => $val){
$final[]['id'] = $val['id'];
$final[]['assignedlessons'] = $val['assignedlessons'];
}
}
return $final;
}
但它只返回是这样的:
array(19648) {
[0]=>
array(1) {
["id"]=>
string(1) "4"
}
[1]=>
array(1) {
["assignedlessons"]=>
string(2) "69"
}
[2]=>
array(1) {
["id"]=>
string(1) "4"
}
[3]=>
array(1) {
["assignedlessons"]=>
string(3) "308"
}
你尝试过什么工作至今?这是非常直接的循环,并且不应太难实现。 –
看看这些:http://stackoverflow.com/search?q=php+flatten+array –
您的预期结果不是一维数组 – Eric