Предположим переменная $cost обладает неким числом, как сделать что бы это число выводилось в формате золото, серебро, медь
Некий предмет стоит 5 золота 2 серебра и 8 меди, как вывести это число в этом формате если оно хранится в таком виде 50208 ( $cost='50208' )?
Другие языки программирования и технологии
[php] Разделение числа из переменной
Ну в таком формате и? Разделителем является 0 или на первый параметр идет одна цифра, на второй 2 цифры и на третий 2 цифры?
Интересуемое число может быть больше 9? тогда как будет записана строка?
>> 3. предмет может стоить 593410 = выведет 59 золота 34 серебра 10 меди
тогда почему запись 50208 не может соответствовать 50 золота, 20 серебра и 8 меди? ?
лучше же записать 050208 или вообще сделать что то разделителем, например '5|2|8' или '5,2,8'
сначала нужно определиться со структурой, прежде чем что то создавать, так как в вашем способе число не может быть больше 99
если не собираетесь искать по данным в самой mysql, то можно вообще использовать массив и функци www.php.net/serialize и unserialize для хранения массива в виде строки в базе данных
>> Число может состоять от 0 до 99 цифр
ну так и используйте по 2 места под параметр - не 50208, а 050208, как и написал выше.
а еще "проще" битовые сдвиги - меньше места будет занимать
если использовать по 2 места под значение, то
$cost = '050208';
$res = str_split($cost, 2);
var_dump($res);
результат
array(3) {
[0]=>
string(2) "05"
[1]=>
string(2) "02"
[2]=>
string(2) "08"
}
и работайте с массивом
собрать обратно можно через
echo implode('', $res);
результат
Интересуемое число может быть больше 9? тогда как будет записана строка?
>> 3. предмет может стоить 593410 = выведет 59 золота 34 серебра 10 меди
тогда почему запись 50208 не может соответствовать 50 золота, 20 серебра и 8 меди? ?
лучше же записать 050208 или вообще сделать что то разделителем, например '5|2|8' или '5,2,8'
сначала нужно определиться со структурой, прежде чем что то создавать, так как в вашем способе число не может быть больше 99
если не собираетесь искать по данным в самой mysql, то можно вообще использовать массив и функци www.php.net/serialize и unserialize для хранения массива в виде строки в базе данных
>> Число может состоять от 0 до 99 цифр
ну так и используйте по 2 места под параметр - не 50208, а 050208, как и написал выше.
а еще "проще" битовые сдвиги - меньше места будет занимать
если использовать по 2 места под значение, то
$cost = '050208';
$res = str_split($cost, 2);
var_dump($res);
результат
array(3) {
[0]=>
string(2) "05"
[1]=>
string(2) "02"
[2]=>
string(2) "08"
}
и работайте с массивом
собрать обратно можно через
echo implode('', $res);
результат
ну ты профессор. . задавай вопрос нормально
Похожие вопросы
- зачем в php константы и и переменные? не вижу в этом смысла, обьясните
- PHP - Посчитать число лесенок из N кубиков
- Переменная PHP и событие JS
- программисты, помогите начинающему в самом простом примере с переменными в PHP
- что значит в числовую переменную последовательно вводятся числа? Она же одна переменная, а в нее вводят много чисел, как
- После ввода числа определить слово. PHP.
- скрипт php обновляет переменную. как с помошью JS каждую секунду запускать этот скрипт?
- Как удалить символ из переменной типа строки в PHP?
- Кто нибудь использовал кириллицу в PHP? В переменных, функциях и т. д.?
- в ряд записаны натуральные числа без разделения запятой 1234567891011121314151617181920 какое число будет на 2007 месте?