Ответы на "нормальное" уплощение MultidimArrays я нашел в изобилии - но я не смог найти решение, которое работает с этими двумя предостережениями: A) сохранить ключи и B) различную длину массивов
например, I Я пытаюсь преобразовать это:
array(2) {
[0]=>
array(5) {
["Name"]=>
string(9) "Max Muster"
["phoneNumbers"]=>
array(3) {
[0]=>
string(7) "1234567"
[1]=>
string(7) "2345678"
}
["manager"]=>
string(13) "None - is CEO"
}
[1]=>
array(5) {
["Name"]=>
string(9) "Ada Brown"
["phoneNumbers"]=>
array(1) {
[0]=>
string(7) "AJP4564"
}
["manager"]=>
string(10) "Max Muster"
}
в это:
Name, Max Muster, phoneNumbers, 1234567, 2345678, manager, None - is CEO, Name, Ada Brown, phoneNumbers, AJP4564, manager, Max Muster
... для использования в CSV
Но это (короткое, хорошее) решение теряет ключи:
foreach ($arrayMultiDim as $onePerson) {
$arrayOneDim = [];
array_walk_recursive(
$onePerson,
function ($oneDim) use (&$arrayOneDim) {
$arrayOneDim[] = $oneDim . ', ';
}
);
}
Бонус: где я могу добавить '' или ';' создать новую строку перед записью в CSV? И как мне избежать ',' после последнего значения в строке?
Для идеального создания sth. как это:
Name, Max Muster, phoneNumbers, 1234567, 2345678, manager, None - is CEO
Name, Ada Brown, phoneNumbers, AJP4564, manager, Max Muster