Intereting Posts

Преобразование строки в целое возвращает 2147483647

Многие другие, похоже, столкнулись с этой проблемой, но обычно связаны с типом данных MySQL.

Я пытаюсь преобразовать String в Integer следующим образом:

$adGroupId = '5947939396'; $adGroupId = intval($adGroupId) 

Однако возвращаемое целое число равно 2147483647, независимо от ввода строки.

Это число слишком велико, чтобы соответствовать целочисленному типу данных (максимальное целочисленное значение равно 2147483647, как показано выше). Вместо этого преобразует его в float:

 $adGroupId = '5947939396'; $adGroupId = floatval($adGroupId) 

Это происходит потому, что 2147483647 – это максимальное целочисленное значение. Вы можете использовать floatval

 $adGroupId = '5947939396'; $adGroupId = floatval($adGroupId); echo $adGroupId; 

Просто приведите его к поплавке

 $adGroupId = (float)$adGroupId; 

Ссылка между принятым ответом и этими отличиями: Typecasting vs function для преобразования типа переменной в PHP