Тема: Помогите с php кодом (Сайт/Форум/Архив закрытых тем) wladua (27 Apr 2015 в 19:20) тут наверное через массив нужно Engine (27 Apr 2015 в 19:28) $int = 123456; $length = mb_strlen($int) + 1; for($i = 1; $i <= $length; ++$i) { $int_{$i} = $int[$i - 1]; } echo $int_2; // 2 Spiro (27 Apr 2015 в 19:57) Суть понял.. А если например у меня случайное число. $int=rand(111111,999999); например с генерировало $int = 223491; как числа записать по одному.. Engine (27 Apr 2015 в 20:00) Spiro, суть не меняется. В $int_1 попадет первое число Spiro (27 Apr 2015 в 20:02) --Цитата-- Engine (27 Apr 2015 в 20:00): Spiro, суть не меняется. В $int_1 попадет первое число ---------- Engine, $int = 123456; $length = mb_strlen($int) + 1; for($i = 1; $i <= $length; ++$i) { $int_{$i} = $int[$i - 1]; } echo $int_2; // 2 написал твой пример почему ошибка переменной ?? Notice: Undefined variable: int_2 Engine (27 Apr 2015 в 20:11) Ну напрямую тогда бери символы $int[0] и тд. Хз че там у тебя за задача Zed (27 Apr 2015 в 20:28) Проще простого) http://php.net/str_split vityachis (27 Apr 2015 в 21:17) Есть вариант еще такой, число после его генерации (если мы знаем что это число именно 9 цифр - хотя все равно можно узнать какой длины это число), разделить на 100000000 (нулей на один меньше чем цифр) и откинуть дробную часть, потом удаляем его и делим на число 10000000 (еще на один ноль меньше) и т. д. То есть в таком случае получиться как-то так: Число 123456789 делим на 100000000 равно 1,23456789 - откидываем дробную часть и получаем 1, потом отнимаем 1 00000000 (луней сколько было в прошлый раз) и получаем 23456789 , делим его на 10000000 выходит 2,3456789 откидываем дробную часть, получаем 2 умножаем на 10000000 , получаем 20000000 - отнимаем его от 23456789, получаем 3456789 и т.д.) Ну это что-то оригинальное)) Код не писал, что бы сам учился :) Engine (27 Apr 2015 в 21:38) vityachis, слишком много телодвижений :) vityachis (27 Apr 2015 в 21:44) Engine, согласен) но это как один из возможных вариантов) Sintez (27 Apr 2015 в 21:56) saSHADE как то об этом обяснял ...но уже не помню Zed (27 Apr 2015 в 22:09) --Цитата-- Sintez (27 Apr 2015 в 21:56): saSHADE как то об этом обяснял ...но уже не помню ---------- Sintez, что тут непонятного всё написано http://php.net/str_split Engine (27 Apr 2015 в 22:14) Zed, По сути строка это и есть массив и можно ображаться к символам через указание индекса. Функция в данном случае ни к чему Zed (27 Apr 2015 в 22:16) <?php $str = \"24556666\"; $arr = str_split($str); echo $arr[0]; echo $arr[1]; echo $arr[3]; ?> Zed (27 Apr 2015 в 22:17) --Цитата-- Engine (27 Apr 2015 в 22:14): Zed, По сути строка это и есть массив и можно ображаться к символам через указание индекса. Функция в данном случае ни к чему ---------- Engine, не знаю,не пробовал) Zed (27 Apr 2015 в 22:21) Ещё <? $str = \"24556666\"; $arr = str_split($str); foreach ($arr as $key) { echo $key.\'</br>\'; } /////// $key будет каждое число ?> Spiro (27 Apr 2015 в 22:25) Всем спасибо буду делаю таким способом $int=rand(100000,999999); $i1=floor($int/100000); echo \"$i1\"; $int2=$int-$i1*100000; $i2=floor($int2/10000); echo \"$i2\"; $int3=$int2-$i2*10000; $i3=floor($int3/1000); echo \"$i3\"; Так как данные переменных нужно записать в разные бд. ЕЩЕ РАЗ СПАСИБО ЗА ВСЕ СОВЕТЫ)))))) Spiro (27 Apr 2015 в 22:29) ааа так удобней )) <?php $str = \"24556666\"; $arr = str_split($str); echo $arr[0]; echo $arr[1]; echo $arr[2]; echo $arr[3]; ?> Мр. Форум (28 Apr 2015 в 12:31) [red]Тему закрыл Админ форума vityachis[/red] Мр. Форум (28 Apr 2015 в 12:32) [red]Тему переместил Админ форума vityachis из раздела PHP/MySQL в раздел Архив закрытых тем[/red] Источник: http://www.dcms-social.ru/forum/17/16/58763/