我有一个网址,看起来如下。如何从php中的url中获取一个id并将它用作数字?
post/:id
我在爆炸$_SERVER['REQUEST_URI']
;
,我需要做的是$uri[2]
数值,所以我可以做的事情一样
$next = $uri[2]++;
我已经试过is_numeric
但当然request_uri
是一个字符串(分成字符串数组)。
我可以在PHP中将类型转换为整数吗?
我有一个网址,看起来如下。如何从php中的url中获取一个id并将它用作数字?
post/:id
我在爆炸$_SERVER['REQUEST_URI']
;
,我需要做的是$uri[2]
数值,所以我可以做的事情一样
$next = $uri[2]++;
我已经试过is_numeric
但当然request_uri
是一个字符串(分成字符串数组)。
我可以在PHP中将类型转换为整数吗?
$int = (int) $uri[2];
你只需要从字符串转换为整数。
您试过intval()
:http://php.net/manual/en/function.intval.php?
int intval(mixed $var [, int $base = 10 ])
“返回变种的整数值,使用指定的基本的转换(默认为10为底)。INTVAL()不应该在对象上被使用,因为这样做会发出E_NOTICE水平错误并返回1.“
UPDATE
已经知道(int) $string
和intval($string)
之间的区别是什么,有以前做题了一些有趣的意见;
(int)
是高达更快intval
600%使得更容易等功能intval
具有改变碱的益处(虽然这是相当模糊的)intval
更具有可读性内类型转换(这显然是非常主观的)
只是为了澄清这两个David和ChrisW是正确的。这些都是two做截至http://www.php.net/manual/en/language.types.integer.php#language.types.integer.casting
<?php
$str = '100';
var_dump($str); // string(3) "100"
// http://php.net/manual/en/function.intval.php
var_dump(intval($str)); // int(100)
// http://php.net/manual/en/language.types.type-juggling.php
var_dump((int) $str); // int(100)
?>
描述你可以把它作为从URL传递参数作为一个$_GET
请求数。
或作为$_POST
请求传递。
但是在$ _POST请求的情况下,我们无法将值传递给url。如果你想要,你可以使用$_SERVER['REQUEST_URI']
并转换为(int) $_GET['pid']
。
http://php.net/manual/en/language.types.type-juggling.php#language.types.typecasting – Hamish 2012-07-26 23:30:25
我知道PHP是动态类型的,但它总是一个字符串,我需要将其转换为整数。 – 2012-07-26 23:31:44
Yeees ...和我链接到“类型铸造”的部分解释了如何做到这一点。 – Hamish 2012-07-26 23:32:35