Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   Цыфры (http://www.flasher.ru/forum/showthread.php?t=26721)

Anton-Killer 04.02.2002 02:21

Цыфры
 
Почогите кто чем могёт.

вот например число 12345 (которое было отправленно из формы), нужно разложить на 1 2 3 4 5
и что б каждое число присваивалось в виде например
$a[0]=1;
$a[1]=2;
$a[2]=3;
и т.д. :confused: :confused: :confused:
Зарание благодарен.
с уважением Антон

evgenz 04.02.2002 12:58

Сам себе и ответил
 
Если переменная $a="12345";
То $a[0]=1, $a[1]=2 ...
В чем вопрос то :)

Crazy 04.02.2002 18:02

Re: Цыфры
 
Цитата:

Оригинал написал(а) Anton-Killer
Почогите кто чем могёт.

вот например число 12345 (которое было отправленно из формы), нужно разложить на 1 2 3 4 5

1. Перевести в строку и взять посимвольно. Затем перевести обратно в числа.

2. Вспомнить курс математики за 3-4 класс: есть операции деления и взятия остатка. :)

Anton-Killer 04.02.2002 22:23

1. Перевести в строку и взять посимвольно. Затем перевести обратно в числа.
 
:D :D :D :D
<?
$var = "12345";
for($i = 0; $i < strlen($var); $i++) $arr[] = substr($var, $i, 1);
?>
:D :D :D :D

Crazy 04.02.2002 22:47

...а теперь перечитай свою же постановку задачи. :)

Pr0Head 05.02.2002 04:23

PHP код:

<? 
$var 
"12345"
for(
$i 0$i strlen($var); $i++) $arr[] = substr($var$i1); 
?>

так вроде в substr второе число, которое отнимается от конца строки не может быть положительным.... :rolleyes:

Сделал небольшой набросок, работает как нужно.

PHP код:

<?

$string 
"12345";

$i 0;
$start 0;
$end = (strlen($string)-(strlen($string)*2))+1;

do {
   
$arr[$i] = substr($string$start$end);

   
$i++;
   
$start++;
   
$end++;
}
while (
$end != 0);

$arr[$i] = substr($string$start);

?>


Crazy 05.02.2002 11:31

Ужас какой...

Правильное решение (см. курс арифметики за 3-4 класс): :)

Код:

$value = 12345;
$digits = array();
while ($value > 0) {
  array_unshift($digits,$value % 10);
  $value = floor($value / 10);
}


Pr0Head 05.02.2002 11:58

Это слишком просто... Мы не ищем легких путей. :p


Часовой пояс GMT +4, время: 15:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.