2015-01-06 4 views
0

Все, что мне нужно, это добавить запятые после каждого типа:PHP добавить запятые после каждого слова, если необходимо

Например:

если (а = 1) дисплей Coca Cola

если (а = 1 и B = 1) дисплей Кока-Кола, Фанта

<?php 
echo 'Type:'; 
if ($a == 1) {echo 'Coca Cola';} 
if ($b == 1) {echo 'Fanta';} 
if ($c == 1) {echo 'Sprite';} 
?> 
+2

Вы имеете в виду запятые? – danhardman

+0

да, извините за это :) – EducateYourself

ответ

6

Использование implode()

Это всегда безопасно использовать массивы и взрываться(), потому что, даже если у вас нет каких-либо

элемент в нем, он не будет выдавать ошибку.

Кроме того, с конкатенацией, в строке, ее комплекс, чтобы избежать, в конце концов, и

сложной логики, например, установка счетчик и т.п .. участвует.

impode() дает вам красоту и простоту.

<?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); 
?> 
+0

он работает, спасибо :) – EducateYourself

+0

@EducateYourself, тогда, пожалуйста, отметьте мой ответ как решение. – Pupil

+0

все равно придется ждать 3 минуты, чтобы сделать это :) – EducateYourself

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';} 

?> 
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), ', '); 
?> 
Смежные вопросы