преобразование входного массива - PullRequest
3 голосов
/ 04 сентября 2011

У меня есть такой входной массив, где "axis", "Maximum_deviation" и "current" являются столбцами таблицы. Мне нужно вставить 4 строки:

Array
(
    [axis_deviation] => Array
        (
            [0] => Array
                (
                    [axis] => Array
                        (
                            [0] => axis 1
                            [1] => axis 2
                            [2] => axis 3
                            [3] => axis 4
                        )

                )

            [1] => Array
                (
                    [maximum_deviation] => Array
                        (
                            [0] => 0.001
                            [1] => 0.003
                            [2] => 12
                            [3] => 0.003
                        )

                )

            [2] => Array
                (
                    [current] => Array
                        (
                            [0] => 0.002
                            [1] => 0.002
                            [2] => 13
                            [3] => 0.003
                        )
                )
        )
)

Мне нужно включить этот формат:

Array
(
    [0] => Array
        (
            [axis] => axis 1
            [maximum_deviation] => 0.001
            [current] => 0.002
        )

    [1] => Array
        (
            [axis] => axis 2
            [maximum_deviation] => 0.001
            [current] => 0.002
        )

    [2] => Array
        (
            [axis] => axis 3
            [maximum_deviation] => 0.001
            [current] => 0.002
        )

    [2] => Array
        (
            [axis] => axis 4
            [maximum_deviation] => 0.001
            [current] => 0.002
        )
)

Все строки имеют переменную длину.

1 Ответ

5 голосов
/ 04 сентября 2011
$result = array();
foreach ($array['axis_deviation'] as $foo) {
  foreach ($foo as $key => $bar) {
    foreach ($bar as $index => $value) {
      if (!array_key_exists($index, $result)) $result[$index] = array();
      if (!array_key_exists($key, $result[$index])) $result[$index][$key] = array();
      $result[$index][$key] = $value;
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...