Запишите каждое слово в строке ECHO с помощью PHP

Апс, если это кажется действительно простым, я не разработчик PHP.

ОК, это показывает вам, как использовать каждое слово в строке Каждое слово строка в PHP?

НО, как вы включаете это в несколько повторяющихся строк?

Например, у меня есть

<?php echo $prefillTitle, ' ', $prefillFirstname, ' ', $prefillLastname; ?>

Как я могу гарантировать, что каждый параметр повторяет свою первую букву как заглавную, используя ucwords(). Было бы это так просто?

<?php echo ucwords($prefillTitle, ' ',  $prefillFirstname, ' ', $prefillLastname; ?>

person user9998823    schedule 25.11.2013    source источник
comment
Замените запятые на точки.   -  person putvande    schedule 25.11.2013


Ответы (3)


Заглавная первая буква каждого слова

ucwords принимает один аргумент и делает заглавной первую букву каждого слова:

echo ucwords($string);

справочник по ucwords

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

echo ucwords(strtolower($string));

ссылка на strtolower

Заглавная буква каждого слова

Если вы хотите ЗАГЛАВИТЬ СТРОКУ (что, оглядываясь назад, я думаю, вы делаете!), Как насчет использования strtoupper:

echo strtoupper($string);

ссылка на strtoupper

Существует несколько способов конкатенации вашей строки. Вы можете использовать оператор .:

$string = $prefillTitle . ' ' . $prefillFirstname . ' ' . $prefillLastname;

Или, как я сделал выше, вы можете интерполировать переменные:

$string = "$prefillTitle $prefillFirstname $prefillLastname";
person Tom Fenech    schedule 25.11.2013
comment
Кто-нибудь хочет прокомментировать? - person Tom Fenech; 25.11.2013
comment
Может быть хорошей идеей вызвать strtolower() перед использованием ucwords(), чтобы избежать несоответствий. - person Amal Murali; 25.11.2013

Способ, которым вы пытаетесь объединить свою строку, недействителен, измените , на . и повторите попытку:

<?php echo ucwords($prefillTitle . ' ' . $prefillFirstname . ' ' . $prefillLastname); ?>

Это должно работать.

Документация: http://php.net/ucwords

Функция ucwords принимает только 1 параметр в виде строки.

person putvande    schedule 25.11.2013

person    schedule
comment
Осторожнее с интерполяцией строк — видимо, все ее ненавидят! - person Tom Fenech; 25.11.2013
comment
Я знаю, я просто имел в виду тот факт, что мой очень похожий ответ был сразу же отвергнут несколькими людьми. Кажется, что у некоторых людей есть проблемы с этим подходом, хотя они, кажется, умалчивают об этом. - person Tom Fenech; 25.11.2013
comment
@Mahendra Это проблема переполнения стека ... пользователи проголосовали против вопроса, не оставив комментария: я делаю это, потому что ... Эта функциональность должна была пройти некоторую проверку, прежде чем она будет принята. - person Patrick Maciel; 25.11.2013