我想计算逗号分隔列表中的项目数。
为此,我使用explode
和/或substr_count
。
像这样:
explode(",", $array);
或者这个:
substr_count( $array, ",") +1;
问题是,在少数情况下,逗号分隔列表为空。 在这种情况下,两种方式都显示1的结果。
我如何解决这个问题以允许结果为0?
这是我尝试做的事情。我想显示cookie中的项目数。如果它为空,则应显示0而不是1。
<?php
$compare_cookie = $_COOKIE["wc_products_compare_products"];
print_r($compare_cookie);
if (empty($compare_cookie)) :
$compare_cookie_array = 0;
else :
$compare_cookie_array = explode(",", $compare_cookie);
endif;
$compare_cookie_result = count($compare_cookie_array);
// $result = substr_count( $_COOKIE["wc_products_compare_products"], ",") +1;
?>
<?php if ($compare_cookie_result >= 1) : ?>
<span class="badge badge-pill badge-danger"><?php echo $compare_cookie_result; ?></span>
<?php endif; ?>
编辑:这样可行,但看起来很脏......
if ( !empty($compare_cookie)):
$compare_cookie_array = explode(",", $compare_cookie);
$compare_cookie_result = count($compare_cookie_array);
else :
$compare_cookie_result = 0;
endif;