php 1 строка не целое число - PullRequest
2 голосов
/ 22 мая 2009

Я использую переменную GET, и люди получают ее по следующему URL:

page?siteID=1

и я проверяю, чтобы siteID был целым числом, но PHP говорит, что это строка.

Как я могу преобразовать его в целое число? Я заметил, что intval() преобразует 0x1A в 26, чего я не хочу.

Ответы [ 12 ]

0 голосов
/ 22 мая 2009

PHP обрабатывает все переменные GET / POST / COOKIE как строки, пока вы что-то с ними не сделаете.

Вот хороший справочник по PHP.net, на который вы можете посмотреть: http://ca.php.net/language.types.type-juggling

0 голосов
/ 22 мая 2009

Все значения параметров являются строками. Вы должны явно преобразовать строку в целое число. Вы можете разыграть как предложено в других ответах или использовать setType (var, type) , где type это "integer"

<?php
  $id = $_GET['siteID'];
  settype($id, "integer");
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...