Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > приписование нуля


Автор: m1kle 17.11.2007, 00:50
Есть перменная $a;
она иногда = "22:14";
иногда = "22:1";
Вообщем временная переменная, как сделать, так, чтобы когда она была равна = "xx:x", автоматически приписывался 0 и она становилась "xx:x0"
Надеюсь вопрос понятен.

Автор: DioNiR 17.11.2007, 00:56
http://ru2.php.net/manual/ru/function.strlen.php

Автор: m1kle 17.11.2007, 01:11
DioNiR, спасибо, что-то я недодумался 

Автор: SelenIT 17.11.2007, 03:50
Как вариант, http://php.net/str_pad.

Автор: kasmanaft 17.11.2007, 10:40
Причем тут strlen() и str_pad?  smile

По-моему, удобнее применить рег. выражение:
Код
<?php
echo preg_replace("/(?<=\d{2}:)(\d)\b/", "0$1", "29:1");
?>

Автор: skyboy 17.11.2007, 10:47
Цитата(kasmanaft @  17.11.2007,  09:40 Найти цитируемый пост)
Причем тут strlen() и str_pad?

а притом, что если идет речь о том, что для некоторых входящих данных из 4 символов("хх.х") надо добавить в конце ноль, то делать подобное при помощи регулянрых выражений - типа стрельбы из пушки по воробьям. Не веришь - проверь в цикле хотя бы на 100 итераций.
Другой выпрос, что формат входных данных может отличаться от "хх.х", но автор темы об этом промолчал.

Автор: kasmanaft 17.11.2007, 11:04
Цитата(skyboy @  17.11.2007,  10:47 Найти цитируемый пост)
надо добавить в конце ноль

Кхм... 22:1 не то же самое, что 22:10. Я на это даже как-то внимание не обратил...
(речь о времени)

Автор: Alukard 17.11.2007, 13:52
По моему проще время присваивать в валидной форме типа:
Код

$a=date('H:i');

Автор: skyboy 17.11.2007, 14:00
а кто сказал, что речь о времени? автор?

Автор: Alukard 17.11.2007, 14:20
Цитата

Кхм... 22:1 не то же самое, что 22:10. Я на это даже как-то внимание не обратил...
(речь о времени)

Автор: kasmanaft 17.11.2007, 14:23
Цитата(m1kle @  17.11.2007,  00:50 Найти цитируемый пост)
Вообщем временная переменная

Готов поспорить (на жвачку), что "временная" от слова "время", а не от слова "temp" smile 
Автор придет - рассудит.

Автор: m1kle 17.11.2007, 14:52
Я сделал со strlen, всё работает. Сейчас покажу кусок кода:
Код

if(strlen($pr[5])==4) $pr[5]="$pr[5]0";

Всё предельно просто

Автор: skyboy 17.11.2007, 16:27
Цитата(m1kle @  17.11.2007,  13:52 Найти цитируемый пост)
$pr[5]="$pr[5]0";

радикально.
а вот так:
Код

$pr.= '0';

чем не устраивает?

Автор: m1kle 18.11.2007, 01:40
skyboy, переделал, так лучше, спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)