我需要的是在每种类型后添加逗号:
例如:
如果(a = 1)显示可口可乐
如果(a = 1和b = 1)显示可口可乐,芬达
<?php
echo 'Type:';
if ($a == 1) {echo 'Coca Cola';}
if ($b == 1) {echo 'Fanta';}
if ($c == 1) {echo 'Sprite';}
?>
答案 0 :(得分:6)
使用数组和implode()总是安全的,因为即使你没有任何
元素,它不会产生错误。
另外,在字符串中串联,要避免它的复杂,最后和
复杂逻辑,例如涉及设置计数器等。
implode()为您提供美丽和简洁。
<?php
echo 'Type:';
$types = array();
if ($a == 1) {$types[] = 'Coca Cola';}
if ($b == 1) {$types[] = 'Fanta / All types';}
if ($c == 1) {$types[] = 'Sprite';}
echo implode(', ', $types);
?>
答案 1 :(得分:2)
这应该适合你:
<?php
echo 'Type: ';
if ($a == 1) {echo 'Coca Cola';}
if ($b == 1) {echo ($a == 1 ? ", ": "") . 'Fanta / All types';}
if ($c == 1) {echo ($b == 1 || $a == 1 ? ", ": "") . 'Sprite';}
?>
答案 2 :(得分:1)
假设你的意思是逗号,你应该将每个值添加到一个数组中,并在每个项目后面附加逗号打印它们,修剪最后一项以从最后删除逗号。
<?php
$types = [];
echo 'Type:';
if ($a == 1) {$types[] = 'Coca Cola';}
if ($b == 1) {$types[] = 'Fanta / All types';}
if ($c == 1) {$types[] = 'Sprite';}
echo rtrim(implode(', ', $types), ', ');
?>