Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не сохраняется ноль в числе
Форумы портала PHP.SU » » Вопросы новичков » Не сохраняется ноль в числе

Страниц (1): [1]
 

1. Exponat - 01 Сентября, 2016 - 15:30:29 - перейти к сообщению
Здравствуйте.
Помогите с ситуацией.
Есть такая переменная:
$cart_number = 010;
Когда я делаю такое:
$user = new CUser;
$user_id = $USER->GetID();
$fields = Array(
"UF_USER_CART" => $cart_number,
);
В админку сайта приходит значение 10. Т.е. первого ноля нету.
Я пробовал такие способа и они не помогали:
"UF_USER_CART" => (int)$cart_number,
"UF_USER_CART" => intval($cart_number),
"UF_USER_CART" => (string) $cart_number,

Можете помочь что я не так делаю?
2. Sail - 01 Сентября, 2016 - 16:01:49 - перейти к сообщению
Exponat, лидирующий ноль - признак восьмеричного числа...
Гляньте пример:

Но если запись выглядит так: $cart_number = '010'; - всё меняется. Тогда строка в процессе вычислений может быть преобразована к числу. И лидирующий ноль в десятичной системе счисления не актуален.
Но для вывода числа с лидирующими нулями можно воспользоваться функцией sprintf
Например:

Подробнее: целые числа
3. Faraon-san - 01 Сентября, 2016 - 16:01:50 - перейти к сообщению
кавычки, не?
4. Exponat - 01 Сентября, 2016 - 16:09:29 - перейти к сообщению
Ребят, я просто ошибся в синтаксисе здесь на сайте.
У меня вообще такой код:
$cart_number = $row["card_number"];
Просто в $row["card_number"] содержится число 010.
(Добавление)
$row["card_number"] получает это число с БД. Как мне на него повлиять чтоб оно было стрингом?
(Добавление)
Кажется я понял.
Нужно считать из числа если первый символ 0 то вырезать первый 0 и echo sprintf('%03d', 10);
И на выходе будет 010
5. Sail - 01 Сентября, 2016 - 17:10:59 - перейти к сообщению
Exponat
что показывает?
6. Exponat - 01 Сентября, 2016 - 17:18:24 - перейти к сообщению
Ребят, все разобрался, спасибо за ведущие нули.
Оказывается тип данных куда записывалось значение $cart_number - целое число, поэтому все нули обрезались. Поменял на тип данных строка и все ок теперь.

 

Powered by ExBB FM 1.0 RC1