Архив рубрики: 'php'
16 Ноябрь'11
2 Изменение регистра символов
Необходимо было проверить строку на наличие слов, написанных в верхнем регистре и заменить их на слово в нижнем регистре, но с заглавным первым символом.
Функция ctype_upper не подошла, т.к. плохо работает с кириллицей.
Написал такую функцию:
function lower($str, $charset='UTF-8') { // Разбиение строки. $tmp = explode(' ', $str); if (is_array($tmp) && 0 < ($count = count($tmp))) { for ($i=0;$i<$count;$i++) { /** * Для определения кириллицы используется тождественное сравнивание, * т.к. ctype_upper работает некорректно. * */ if ($tmp[$i] !== mb_strtolower($tmp[$i], $charset)) { $tmp[$i] = mb_convert_case(mb_strtolower($tmp[$i], $charset), MB_CASE_TITLE, $charset); } } } $str = implode(' ', $tmp); return $str; }
Использовать можно так:
$str = 'Записки WEB-ПРОГРАММИСТА'; echo lower($str); // Записки Web-Программиста
03 Октябрь'11
0 Условия в if
В стандартах кодирования в разделе "форматирование блоков if then else" написано, что при сравнении константы необходимо ставить слева, т.е.
if (1 == $var)
Сегодня задумался по поводу сравнения с булевыми константами.
Как лучше писать
if (true === $var)
или использовать восклицательный знак (!)
if (!$var)