PHP - 执行此操作,如果下一部分符合此条件,也可执行此操作

时间:2018-06-06 18:21:33

标签: php if-statement

我对PHP很陌生,但不知道如何说出这个问题。

如果在别处选择了颜色,我想返回一个彩色圆圈。

因此,如果银被勾选,则显示一个银色圆圈。

如果已经勾选了银和金,请同时显示两者。

必须有一种更简单的方法来编写下面的代码,而不是每次都要创建大量的单独if语句并调用变量?

其他人根据我的理解不会在这里工作。

请原谅我的天真!

我在下面写的代码:

    <?php

            // for iphone   
            $colours_available = get_field('iphone_colours_available');


            // check
            if( $colours_available && in_array('silver', $colours_available) ): ?>


              <div class="colour-circle-title"><p>Silver</p></div>


        <?php endif; ?>

            <?php

            // vars 
            $colours_available = get_field('iphone_colours_available');


            // check
            if( $colours_available && in_array('gold', $colours_available) ): ?>



              <div class="colour-circle-title"><p>Gold</p></div>





        <?php endif; ?>

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

正如评论中所述,您可以遍历$colours_available数组,然后使用ucwords()来填充您的p-tag文本:

<?php $colours_available = get_field('iphone_colours_available'); ?>
<?php foreach($colours_available  as $color) :; ?> 
    <div class="colour-circle-title"><p><?php echo ucwords($color); ?></p></div>
<?php endforeach; ?>

注意:如果您不需要在其他位置使用$colours_availble数组,则可以删除该行并将其替换为循环中的get_field('iphone_colours_available')。此外,此解决方案不涉及您以前的解决方案所做的排序。为此,我建议您查看goPdf,特别是uasortuksortusort