2016-08-05 4 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

У вас есть «количество» в каждом из этих подрешеток. Если счетчик равен 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

Спасибо, мне пришлось отредактировать строку unset и изменить ее на 'unset ($ element [$ element [$ i]] ['count']); '- но теперь он отлично работает :) – MacMan

+0

Ops :) -> Я также изменил его – Marcus

Смежные вопросы