PHP Array: Как наследовать имя ключа от первого значения Array - PullRequest
0 голосов
/ 04 марта 2011

Мне нужно использовать PHP, чтобы перейти от этого массива к следующему массиву,

      [results] => Array
          (
              [row] => Array
                  (
                           [0] => Array
                                (
                                    [col0] => "banana"
                                    [col1] => "grape"
                                    [col2] => "apple"
                                )

                            [1] => Array
                                (
                                    [col0] => "ford"
                                    [col1] => "chevy"
                                    [col2] => "chrysler"
                                )
                   )
          )

      [results] => Array
          (
              [row] => Array
                  (
                           [banana] => Array
                                (
                                    [col0] => "banana"
                                    [col1] => "grape"
                                    [col2] => "apple"
                                )

                            [ford] => Array
                                (
                                    [col0] => "ford"
                                    [col1] => "chevy"
                                    [col2] => "chrysler"
                                )
                   )
          )

Имейте в виду, что массив row не имеет установленного размераили длина.
Любая помощь будет оценена!
Большое спасибо!

Ответы [ 4 ]

4 голосов
/ 04 марта 2011
$data = array(...); // your data
foreach ( $data['results']['row'] as $k => $v ) {
  unset($data['results']['row'][$k]);
  $data['results']['row'][$v['col0']] = $v;
}
0 голосов
/ 04 марта 2011

array_fill_keys - это функция в php.

см. Ее http://www.php.net/manual/en/function.array-fill-keys.php

0 голосов
/ 04 марта 2011
$farray = array(); //your array
foreach($faray['results']['row'] as $key => $val)
{
    echo $key;
    echo '<hr>';
    print_r($val);
    echo '<br>';

}
0 голосов
/ 04 марта 2011
$new_array = array();
foreach ($array as $key => $value) {
    foreach ($value as $key2 => $value2) {
         $new_array[$key][$key2][$value2['col0']] = $value2;
    }
}

var_dump($new_array);
...