在PHP中计算逗号分隔列表,可能为0

时间:2018-04-22 16:15:40

标签: php arrays explode substr

我想计算逗号分隔列表中的项目数。 为此,我使用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;

0 个答案:

没有答案