Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Авторизация через facebook


Автор: proger 27.5.2011, 09:58
Здравствуйте,
делаю на сайте авторизацию через facebook. в конце мне возвращаются данные о пользователи в формате json
Код

$ch = curl_init("https://api.facebook.com/method/users.getInfo?uids=".$result["uid"]."&fields=uid,first_name,last_name,sex&format=json&access_token=".$result["access_token"]);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            $out = curl_exec($ch);
            curl_close($ch);                   
            $getProfiles = json_decode($out)

после декодирования json, uid пользователя приходит очень длинным, состоит из 15 цифр. И когда я вывожу $getProfiles->uid то выводится число 1,05421+Е. Как сделать нормальный формат числа?

Автор: WolfAlone 27.5.2011, 15:53
proger, обычно такое бывает когда число "не вмещается" в целочисленную переменную. Но, насколько я помню, PHP - это язык, в котором тип переменных определяется динамически. Для хранения очень больших чисел - достаточно использовать обычные строки. Возможно, где-то (там где не надо) Вы используете что-то типа intval(); ?

Автор: proger 27.5.2011, 21:37
Цитата(WolfAlone @ 27.5.2011,  15:53)
proger, обычно такое бывает когда число "не вмещается" в целочисленную переменную. Но, насколько я помню, PHP - это язык, в котором тип переменных определяется динамически. Для хранения очень больших чисел - достаточно использовать обычные строки. Возможно, где-то (там где не надо) Вы используете что-то типа intval(); ?

Да, в php длина int 11 символов, а приходит 15. json_decode возвращает мне массив с обрезанным числом и не знаю как конвертировать в строку.

Автор: proger 28.5.2011, 09:04
?????

Автор: proger 31.5.2011, 09:56
помогите!!!!!!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)