J'ai un tableau tridimensionnel. Je veux corriger une fonction pour la transformer en un tableau à une seule dimension et conserver la sous-clé précédente. Comment je fais ça?Comment modifier un tableau tridimensionnel en un tableau multidimensionnel (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"
}
}
}
Je veux transformer la structure comme celle-ci:
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"
}
Ce que j'est cette fonction:
function toSingleDimentionalArray($array){
$final = array();
foreach($array as $value){
foreach($array as $key => $val){
$final[]['id'] = $val['id'];
$final[]['assignedlessons'] = $val['assignedlessons'];
}
}
return $final;
}
Mais ce retour seulement quelque chose comme ceci:
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"
}
Qu'avez-vous essayé jusqu'à présent? C'est une boucle assez simple, et ne devrait pas être trop difficile à implémenter. –
Jetez un oeil à ces: http://stackoverflow.com/search?q=php+flatten+array –
Votre résultat prévu n'est pas un tableau à une seule dimension – Eric