猿问

计算 foreach 中的循环次数并据此采取行动

您好,我在 PHP 中有一个函数,它返回 woocommerce 中我的产品的颜色。


我的功能:


global $product;


                if ( $product->is_type('variable') ) {

                    $taxonomy = 'pa_color';

                    $colors = explode(',',$product->get_attribute($taxonomy));


                            echo '<div class="colour-swatch">';


                    foreach ($colors as $color) {

                        echo '<div class="swatch '. strtolower(trim($color)) .'">';

                                    echo '<div class="circle">';

                                    echo '<div style="background-color: var(--'. strtolower(trim($color)) .');"></div>';

                                    echo '<a href="' . esc_url( get_permalink( $product_id ) ) . '?attribute_pa_color='. strtolower(trim($color)) .'"></a>';

                                    echo '</div>';

                                    echo '</div>';

                    }


                            echo '</div>';


                }

我需要的是让它计算在循环内找到的颜色数量(因此循环完成了多少次)。并在下面回应它。


因此,如果完成一个循环,它应该(回显“1 颜色”)。如果找到 2 种或更多颜色,它应该回显“x 颜色”(因此在颜色上包含 s 以使其正确)。


12345678_0001
浏览 72回答 1
1回答

SMILET

// To print the total size of the colors.(the number of times the loop ran)$sz = sizeof($colors);echo $sz . (($sz==1) ? " color" : " colors");
随时随地看视频慕课网APP
我要回答