Конвертировать сложный массив в простой (для CSV) - PullRequest
1 голос
/ 02 июля 2019

Я хочу преобразовать мой сложный массив в более простой для экспорта этого преобразованного более простого массива в файл CSV.

В настоящее время моя структура массива имеет вид:

Array
(
[0] => Array
    (
      [_source] => Array
      (
        [block] => Array
        (
          [0] => Kurud
        )
        [district] => Array
        (
          [0] => Dhamtari
        )
        [state] => Array
        (
           [0] => Chhattisgarh
        )
      )
    )
[1] => Array
    (
      [_source] => Array
      (
         [block] => Array
         (
            [0] => North-Bangeluru
         )
         [district] => Array
         (
             [0] => Bangalore
         )
         [state] => Array
         (
             [0] => Karnataka
         )
       )
    )
)

и я хочу преобразовать вышеуказанный массив в указанный ниже формат:

array(
  array("block", "district", "state"),
  array("Kurud","Dhamtari","Chhattisgarh"),
  array("North-Bangeluru","Bangalore","Karnataka")
)

Таким образом, ключи будут первым элементом, а затем каждым элементом со своими данными.

Вот что я попробовал:

foreach ($array as $key => $value) { 
 if (is_array($value)) { 
   $result = array_merge($result); 
 } 
 else { 
   $result[$key] = $value; 
 } 
} 
print_r(result);

заранее спасибо ...

1 Ответ

1 голос
/ 02 июля 2019

Как насчет:

$keys = array_keys($arr[0]["_source"]);
$res[] = $keys;
foreach($arr as $e) {
    $temp = [];
    foreach($keys as $k)
        $temp[] = $e["_source"][$k][0];
    $res[] = $temp;
}

Ссылка: ключи массива

Живой пример: 3v4l

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...