Dizi yeniden düzenleme

1 Cevap php

Dizi böyle başlıyor:

Array ( 
  [SMART Board] => Array ( [0] => sb1 [1] => sb2 [2] => sb3 ) 
  [Projector] => Array ( [0] => pr1 [1] => pr2 [2] => pr3 ) 
  [Speakers] => Array ( [0] => sp1 [1] => sp2 [2] => sp3 ) 
  [Splitter] => Array ( [0] => spl1 [1] => spl2 [2] => spl3 ) 
  [Wireless Slate] => Array ( [0] => ws1 [1] => ws2 [2] => ws3 ) 
)

Tuşları benim tablo sütunları başlıkları olarak kullanılır. Onların bireysel diziler sütun bilgileri taşımak için vardır.

I array_slice ile daha da o kadar bölünmüş ve array_merge_recursive hoş 2 diziler gibi bakmak 1 - Bu gibi diğer görünüyor, sütun adlarını tutar:

Array ( 
  [0] => sb1  
  [1] => sb2  
  [2] => sb3  
  [3] => pr1  
  [4] => pr2  
  [5] => pr3  
  [6] => sp1  
  [7] => sp2  
  [8] => sp3  
  [9] => spl1  
  [10] => spl2  
  [11] => spl3  
  [12] => ws1  
  [13] => ws2  
  [14] => ws3  
)

Ben anahtarlar 0, 1, sütun veri olarak 2 alıyorum tabloyu yazmaya çalışırken Ancak, daha sonra 3, 4, 5 sonra mola kürek vb ... sonra kırmak satır

Ben 3, 6, 9, 12 satır ara 1, 4, 7, 10, 13 satır kırmak vs, bunun 0 olması gerekir ..

Nasıl ben de bunun için izin vermek benim dizi yeniden düzenlemek ya da böylece veri tabloya gider nasıl yazabiliriz uygun sütun ile doğru bilgi hatları?

foreach(unserialize($dl->data) as $data){

    //first 3 are specialinstructions, system, and room
    $uniques = array_slice($data,0,3);

    $rows = array_slice($data,3);
    $rows2 = array_merge_recursive($rows2, $rows);

    //get the specialinstructions, system, and room
    foreach($uniques as $unique){
        echo $unique."<br/>";
    }///foreach uniques

    echo "<br>";

}///foreach unserialized

$numberofrooms = count($rows2[key($rows2)]);
$numberofproducts = count($rows2);
print_r($rows2);

unset($rows);

//write the individual rows
foreach($rows2 as $header=>$rowset){

    $headers[] = $header;

    foreach($rowset as $row){

        $rows[] = $row;

    }//foreach rowset

}//foreach rows2

echo "<p>";
print_r($rows);

echo '<table class="data-table">
          <caption>DL</caption>

          <thead><tr>';
foreach($headers as $header){
    echo "<th>".$header."</th>";
}
echo '</tr></thead>';
echo '<tbody>';
$i = 0;
foreach($rows as $row){
    if($i == 3 || $i == 0){
        echo "<tr>";
        $i = 1;
    }
    echo '<td>'.$row.'</td>';
    if($i == 2){
        echo "</tr>";
    }
    $i++;
}
echo '</tbody></table>';

1 Cevap

İstediğiniz şekilde görüntülemek için özgün dizi ve aşağıdaki kodu kullanabilirsiniz:

$i=0;
while($i<3){ // 3 is the number of items in each array
    foreach($originalArray as $arr){
        print($arr[$i].'<br/>');
    }
    print('<hr/>');
    $i++;
}

Test ancak sürüklenme almalısınız.