シャッフルを取得しようとしていて、for each
ループ内に19項目しかありません。 shuffle()
とif (++$i == 19) {break;}
を使用しましたが、問題は1回12アイテム、1回13回、別の時間です。14.何が間違っていましたか?ここでシャッフルして、PHP foreachループ内の特定の項目のみを表示します。
は、チェックするためのコードです:
<?php
$i = 0;
shuffle($children);
foreach ($children as $child) {
if ($child['name_total'] > 0) {
?>
<li>
<?php echo ($child['filter_id'] == 2 ? "<span class='Verified'><i class='fa fa-check-circle'></i></span>" : ""); ?>
<div class="CatImg"><a title="<?php echo $child['name']; ?>" href="<?php echo $child['href']; ?>"><img alt="<?php echo $child['name']; ?>" src="<?php echo $child['thumb']; ?>"/></a></div>
<a title="<?php echo $child['name']; ?>" href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?><span class="Total"><?php echo $child['name_total']; ?></span></a>
</li>
<?php
}
if (++$i == 19) {
break;
}
}
?>
すべての値は '$ child ['name_total']> 0'条件を満たしていますか?私は '++ $ i == 19'チェックが最初の' if'の内側にあるはずだと思います。 –
@SougataBoseええ、dbはこの状態で30以上のアイテムを持っています。 – Pedram
'$ i'の初期値は何ですか? – topher