Sizin dizi kötü tasarlanmıştır. Nasıl bir apples
apple
olarak aynı olduğunu bilmeli. Sizin dizi bu şekilde inşa edilmelidir:
$fruits['apples']['blue'] = 24;
$fruits['apples']['read'] = 24;
$fruits['bananas']['blue'] = 12;
$fruits['gooseberries']['orange'] = 4;
$fruits['oranges']['red'] = 12;
Sonra ilerlerken kolaydır. Dizinin ilk seviye satırlar. Yani:
<?php
$column_head = array();
foreach($fruits as $key => $value) {
$column_head = array_merge($column_head, array_keys($value));
}
$column_head = array_unique($column_head);
print_r($column_head);
?>
<table>
<tr>
<th></th>
<?php foreach($column_head as $head): ?>
<th><?php echo $head; ?></th>
<?php endforeach; ?>
</tr>
<?php foreach($fruits as $fruit => $amount): ?>
<tr>
<td><?php echo $fruit ?></td>
<?php foreach($column_head as $head): ?>
<td><?php echo isset($amount[$head]) ? $amount[$head] : 0 ?></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</table>
Bu sütunlar anında kullanmak için hangi üretir, ama daha kolay olabilir hangi kodlanmış olabilir. Kod kullanır gibi bir sürü bu verimli değil olabilir döngüler ...