2016-08-05 105 views
0

我有一个像下面这样的数组。这是我们的一台服务器上查询的结果。php格式化数组结果

Array 
(
    [count] => 1 
    [0] => Array 
     (
      [name] => Array 
       (
        [count] => 1 
        [0] => mac 
       ) 

      [0] => name 
      [staffid] => Array 
       (
        [count] => 1 
        [0] => 1234 
       ) 

      [1] => staffid 
      [school] => Array 
       (
        [count] => 1 
        [0] => western 
       ) 

      [2] => school 
      [count] => 3 
      [dn] => cn=mac,cn=staff 
     ) 

) 

如何循环访问该数组并按如下所示创建一个新数组。

Array 
(
    [name] => mac 
    [staffid] => 1234 
    [school] => western 
) 

我已经尝试了foreach循环呼应的关键&值,但我不知道从哪里里去。查询扩展后会返回更多结果,但原始数组布局将相同,并且新布局需要具有相同的格式。

任何想法? 感谢

+0

你必须在每个这些子阵列的“计数”。如果count为2或更大,那么是否需要将这些值作为数组返回? –

+0

据我可以告诉子数组中的计数将始终为1 – MacMan

回答

2

试试这个:

$result = array(); 
foreach($yourArray as $element){ 
    for($i=0;$i<$element['count']; $i++){ 
     unset($element[$element[$i]]['count']); 
     $result[$element[$i]] = implode(', ', $element[$element[$i]]); 
    } 
} 
+0

谢谢,我不得不编辑未设置的行,并将其更改为'未设置($ element [$ element [$ i]] ['count'] );' - 但现在它很好:) – MacMan

+0

Ops :) - >我也改变了它 – Marcus