|
|
|
| Подскажите, как сделать из строки 123456, вот такую 12 34 56? | |
|
|
|
|
|
|
|
для: Tema
(08.07.2006 в 17:18)
| |
<?
$str = "123456";
$final = $str[0] . $str[1] . " " . $str[2] . $str[3] . " " . $str[4] . $str[5];
echo $final;
?>
|
| |
|
|
|
|
|
|
|
для: RV
(08.07.2006 в 17:31)
| | Я думал может поэлегантнее решение есть? | |
|
|
|
|
|
|
|
для: Tema
(08.07.2006 в 17:56)
| | ну так придумай поэлегантней | |
|
|
|
|
|
|
|
для: RV
(08.07.2006 в 18:06)
| | спасибо за помощь | |
|
|
|
|
|
|
|
для: Tema
(08.07.2006 в 17:56)
| | Можно не элегантнее, можно... э-э... Хитровымаханнее=)) В цикле брать по два символа и добавлять пробел. Или рассматривать строку как массив и вставить пробелы как элементы массива - цикл по индексу элемента. | |
|
|
|
|
|
|
|
для: Киналь
(08.07.2006 в 20:15)
| | ага. )) Сейчас придет cheops и напишет preg_replace )) | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2006 в 00:55)
| | Хм... помоему всё-таки проще циклом
<?php
$number = "123456";
$new = "";
for($i = strlen($number) - 1, $j = 0; $i >= 0; $i--, $j++)
{
if($j == 2)
{
$j = 0;
$new = " ".$new;
}
$new = $number[$i].$new;
}
echo $new;
?>
|
PS Был бы интервал в три числа, можно было бы воспользоваться станратной функцией number_format(). | |
|
|
|
|
|
|
|
для: cheops
(09.07.2006 в 11:02)
| | Интересный вариант. Спасибо.
А что будет быстрее? Вызов по символу или цикл? | |
|
|
|
|
|
|
|
для: Tema
(09.07.2006 в 16:51)
| | Если вы заранее знаете число символов в числе, то вызов по символам будет быстрее цикла, но не столько, чтобы вы и ваши пользователи заметили разницу невооружённым взглядом. | |
|
|
|
|
|
|
|
для: cheops
(09.07.2006 в 11:02)
| | Эх... ну как же так....
<?
$str = "12345678";
$str= trim(strrev(preg_replace('/(.{2})/', '\1 ', strrev($str))));
echo $str;
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(10.07.2006 в 11:28)
| | Хм... что-то мне реверс в голову не пришёл :))) | |
|
|
|