我对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; ?>
非常感谢您的帮助!
答案 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,特别是uasort
,uksort
和usort