배열은 다음과 같이 시작 : 키 내 테이블 컬럼의 제목으로 사용되는다시 정렬 배열
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)
)
. 그들의 개별 배열은 열 정보를 전달합니다.
내가 2 개 배열로 꽤보고array_slice
및
array_merge_recursive
으로 더욱를 분할 한
- 1 열 이름이 같은 다른 외모 원하는 분야 그러나
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
)
를 할 때 테이블 I를 작성하려고 키 열 0, 1, 2를 열 데이터로 가져온 다음 3, 4, 5 행 나누기 등의 행 나누기 ...
0, 3, 6, 9, 12 행이 필요합니다. 1, 4, 7, 10, 13 행 나누기 등을 중단하십시오.
배열을 사용하거나 데이터가 테이블로 들어가는 방법을 다시 써서 올바른 정보가 적절한 열과 정렬되게하십시오.
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>';
힌트 : HTML을 '에코'하지 않으면 코드의 구조를 파악하는 것이 훨씬 쉽습니다. 다음과 같이하면됩니다. 예 : php foreach ($ headers as $ header) :?>
고마워 펠릭스, 나는 보통 그걸로 간다. 그러나 이것은 함수에 싸서 내가 출력하고있는 것을 정확히 볼 수있는 것이 더 깨끗하다고 느낍니다. – bradenkeith