2015-11-04 132 views
1

和我的问题:转换多维数组多维关联数组

转换从array_chunk生成的数字多维数组的关联数组或stdClass的。我该怎么做?

我生成

foreach($xpath->query("./td[position()=2 ]", $row) as $cell) 
    { 
     $a[] = trim($cell->nodeValue); 
    } 

这个数组

看起来像一个数组:

Array 
(
    [0] => AAK AB 
    [1] => 642,00 
    [2] => 644,00 
    [3] => 635,00 
    [4] => 17 108 677 
    [5] => ABB Ltd 
    [6] => 164,90 
    [7] => 165,00 
    [8] => 163,20 
    [9] => 146 251 251 
... 

但随着array_chunk,我产生:

Array 
(
    [0] => Array 
     (
      [0] => AAK AB 
      [1] => 642,00 
      [2] => 644,00 
      [3] => 635,00 
      [4] => 17 243 497 
     ) 

    [1] => Array 
     (
      [0] => ABB Ltd 
      [1] => 164,80 
      [2] => 165,00 
      [3] => 163,20 
      [4] => 146 335 464 
     ) 

但对于更清洁,更多nderstandable代码,我想它看起来像:

    Array 
(
    [1] => stdClass Object 
     (
      [stock] => AAK AB 
      [prev] => 634,50 
      [high] => 638,50 
      [low] => 622,50 
      [rev] => 32 094 048 
     ) 

    [2] => stdClass Object 
     (
      [stock] => ABB Ltd 
      [prev] => 162,80 
      [high] => 163,30 
      [low] => 161,90 
      [rev] => 167 481 268 
     ) 
) 

它不必是一个stdClass的,但如果是可能的类似对象回声从阵列数据:

$a->aktie$a['aktie']

回答

2

你可以尝试后在array_combine循环array_chunk -

$keys = array('stock', 'prev', 'high', 'low', 'rev'); 
foreach($your_array as &$array) { 
    $array = (object) array_combine($keys, $array); 
}