Регистрация
Вход через соцсети
Восстановление пароля

Характеристики и разделитель

Новый топик
13.01.2009, 20:25
Ответить | Цитировать
kokos

Зарегистрирован:
2009-01-12
Сообщений: 3

Такой вопрос, несколько характеристик у товара, сделал с помощью логических переменных: har1 – характеристика 1, har2 – характеристика 2, har3 – характеристика 3 и тд.
Вывожу через opt:
Код:
Список: ".opt($f_har1, "характеристика 1")."".opt($f_har2, "характеристика 2")."".opt($f_har3, "характеристика 3")."

Дело в том, что они не обязательны, и какая-то переменная может отсутствовать, и вот сам вопрос, как мне вставить разделитель между ними (например запятую)? Дело осложняется тем, что местами есть переменные типа "строка" (комментарий к характеристике) и перед ними запятой быть не должно.
Пример кода:
Код:
Список: ".opt($f_har1, "характеристика 1")."".opt($f_har2, "характеристика 2")."".opt($f_har3, "характеристика 3")."".opt($f_har3_com, "(комментарий к характ. 3)")."".opt($f_har4, "характеристика 4")."

В конце должно выглядеть так (допустим, все поля заполнены):
характеристика 1, характеристика 2, характеристика 3 (комментарий к характ. 3), характеристика 4
16.01.2009, 00:59
Ответить | Цитировать
Гость
Гость

Вариант в Вашей манере кодинга:

Код:
".opt($f_har1, "характеристика 1".opt($f_har2 || $f_har3 || $f_har4,",")."")."
".opt($f_har2, "характеристика 2".opt($f_har3 || $f_har4,",")."")."
".opt($f_har3, "характеристика 3".opt($f_har3_com, "(комментарий к характ. 3)")."".opt($f_har4,",")."")."
".opt($f_har4, "характеристика 4")."
16.01.2009, 12:39
Ответить | Цитировать
kokos

Зарегистрирован:
2009-01-12
Сообщений: 3

Gость, Спасибо!
Если не сложно, вопрос (ради образования), есть ли другие способы реализации?
16.01.2009, 16:53
Ответить | Цитировать
Павел Зотов
Зотов Павел

Зарегистрирован:
2006-02-22
Сообщений: 26

Например, так:
Код:

";
$hars = array();
if( $f_har1 ) $hars[] = "характеристика 1";
if( $f_har2 ) $hars[] = "характеристика 2";
...
if( $f_harN ) $hars[] = "характеристика N"; //Можно заменить циклом

if( count( $hars ) ) echo implode( ",", $hars );

echo "


Просто программист
30.01.2009, 15:15
Ответить | Цитировать
kokos

Зарегистрирован:
2009-01-12
Сообщений: 3

Павел, спасибо!
198 196 2009-01-30 15:15:48 9552
Описание проекта