(Untitled)

Oct 28, 2014 17:17


$at_name = mb_strtoupper($anti_theft_brand.' '.$anti_theft_name, 'UTF-8');
$at_name = $at_name == ' ' ? '' : $at_name;

Leave a comment

Comments 11

voenniy October 28 2014, 14:34:07 UTC
trim?
Или вас что-то другое смутило?

Reply

hayk October 28 2014, 14:39:55 UTC
Ну меня смутило не использование trim.

Reply


sontar October 28 2014, 14:51:19 UTC
для двух аргументов и пробела можно использовать trim
для трёх и более аргументов или непробельного разделителя нужно использовать join($delimiter, array_filter(array($arg1, $arg2, ... $argN)))
а так да, подобных примеров полон говнокод

Reply


ximaera October 28 2014, 15:25:28 UTC
На PHP так заведено, да.

Reply

display_none October 28 2014, 17:56:57 UTC
В общем -- да. Если бы существовала книга "thinking in PHP', то именно с такой строчки она бы и начиналась.

Правда, я бы еще улучшил:
$anti_theft_brand.' '.$anti_theft_name

mb_strtoupper($anti_theft_brand.' '.$anti_theft_name.'', 'UTF-8');

Reply


display_none October 28 2014, 17:55:13 UTC
Стесняюсь спросить: а если anti_theft_brand будет " "?

Reply


anmiles October 31 2014, 14:32:10 UTC
Не говнокод.
Нельзя здесь trim использовать.
Переменные $anti_theft_brand или $anti_theft_name могут начинаться и заканчиваться пробелами, и тогда использование trim испортит значение $at_name.

Мания всё на свете упрощать иногда приводит к таким ошибкам, что вовек не разберёшься.

Reply

hayk October 31 2014, 14:41:03 UTC
Переменные $anti_theft_brand или $anti_theft_name не могут содержать пробел в конце или начале, так же как Имя и Фамилия не могут их содержать.

Reply

anmiles October 31 2014, 15:34:14 UTC
Из названия переменной $anti_theft_brand это никак не следует.
Вы бы сразу уточняли такое, раз знакомы с проектом.

Reply

hayk October 31 2014, 16:37:19 UTC
Ну в вы встречали названия брендов или моделей с пробелмаи в начале или конце?
Я себе такого припомнить не могу.

Reply


Leave a comment

Up