I have a three dimensional array. I want to right a function to transform it to a single dimensional array and keep the previous sub-key. How do I do that?
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"
}
}
}
I want to transform it to the structure like this one:
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"
}
What I have is this function:
function toSingleDimentionalArray($array){
$final = array();
foreach($array as $value){
foreach($array as $key => $val){
$final[]['id'] = $val['id'];
$final[]['assignedlessons'] = $val['assignedlessons'];
}
}
return $final;
}
But it only return something like this:
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"
}
This will work