sabit olmayan dizide nasıl kontrol sağlarım
merhabalar benim veriler dizisini foreach ile aldığımda aşağıda ki yapıda sonuç alıyorum
yapıda
[N]==1 maç sonucu 1 kazanırsa
[N]==2 maç sonucu berabere biterse
[N]==3 maç sonucu deplesman kazanırsa
[O] kısımları ise oranları
yapıda bakarsak Galatasaray Fenerbahçe maçının ms1 msx ms2 var ancak Bursaspor - Altay maçının ms1 ve msx verilmemiş sadece ([N]=3)ms2 verilmiş
Array
(
[Taraflar] => Galatasaray Fenerbahçe
[Oranlar] => Array
(
[macsonucu] => Array
(
[0] => Array
(
[N] => 1
[O] => 1.25
)
[1] => Array
(
[N] => 2
[O] => 4
)
[2] => Array
(
[N] => 3
[O] => 6
)
)
)
)
Array
(
[Taraflar] => Bursaspor - Altay
[Oranlar] => Array
(
[macsonucu] => Array
(
[0] => Array
(
[N] => 3
[O] => 8
)
)
)
)
nasıl bir filtreleme ile istediğim sonucu alabilirim istediğim yapı
Taraflar ms1 msx ms2
Galatasaray Fenerbahçe 1.25 2 4
Bursaspor - Altay - - 8
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Merhaba, Oranlar altındaki macsonucu array'ini count()
fonksiyonundan geçirip sonuca göre yazdırabilirsin.
Verdiğin örneğe göre şu şekilde bir çözüm olabilir.
$maclar = [
[
'taraflar' => 'Galatasaray Fenerbahçe',
'oranlar' => [
'macsonucu' => [
0 => [
'N' => '1',
'O' => '1.25',
],
1 => [
'N' => '2',
'O' => '4',
],
2 => [
'N' => '3',
'O' => '6',
]
]
],
],
[
'taraflar' => 'Bursaspor - Altay',
'oranlar' => [
'macsonucu' => [
0 => [
'N' => '4',
'O' => '8',
],
]
],
],
];
?>
<table class="table">
<thead>
<tr>
<th scope="col">Taraflar</th>
<th scope="col">MS1</th>
<th scope="col">MSX</th>
<th scope="col">MS2</th>
</tr>
</thead>
<tbody>
<?php
foreach ($maclar as $mac) { ?>
<tr>
<?php
if (count($mac['oranlar']['macsonuc']) === 3) { ?>
<td><?php echo $mac['taraflar'] ?></td>
<td><?php echo $mac['oranlar']['macsonuc'][0] ?></td>
<td><?php echo $mac['oranlar']['macsonuc'][2] ?></td>
<td>@<?php echo $mac['oranlar']['macsonuc'][3] ?></td>
<?php
} elseif (count($mac['oranlar']['macsonuc']) === 2) {
?>
<td><?php echo $mac['taraflar'] ?></td>
<td>-</td>
<td><?php echo $mac['oranlar']['macsonuc'][2] ?></td>
<td>@<?php echo $mac['oranlar']['macsonuc'][3] ?></td>
<?php
} elseif (count($mac['oranlar']['macsonuc']) === 1) { ?>
<td><?php echo $mac['taraflar'] ?></td>
<td>-</td>
<td>-</td>
<td>@<?php echo $mac['oranlar']['macsonuc'][3] ?></td>
<?php
} else {
?>
<td colspan="3">Hatalı Veri</td>
<?php
}
?>
</tr>
<?php } ?>
</tbody>
</table>
Tabi bu yapı çok daha güzel kurulabilir.