Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从php中的url中获取id并将其用作数字?_Php_Casting_Integer_Uri - Fatal编程技术网

如何从php中的url中获取id并将其用作数字?

如何从php中的url中获取id并将其用作数字?,php,casting,integer,uri,Php,Casting,Integer,Uri,我有一个如下所示的url post/:id 我正在分解$\u服务器['REQUEST\u URI'] 我需要使$uri[2]是数字的,这样我就可以做类似的事情 $next=$uri[2]++ 我已经尝试过是数字的,但是请求uri当然是一个字符串(分解成一个字符串数组) 我可以在php中键入cast to integer吗 $int = (int) $uri[2]; 您只需将字符串转换为整数 您只需将字符串转换为整数 您是否尝试过intval(): int-intval(混合$var[,int

我有一个如下所示的url

post/:id
我正在分解
$\u服务器['REQUEST\u URI']

我需要使
$uri[2]
是数字的,这样我就可以做类似的事情

$next=$uri[2]++

我已经尝试过
是数字的
,但是
请求uri
当然是一个字符串(分解成一个字符串数组)

我可以在php中键入cast to integer吗

$int = (int) $uri[2];
您只需将字符串转换为整数


您只需将字符串转换为整数

您是否尝试过
intval()

int-intval(混合$var[,int$base=10])

使用指定的转换基数(默认值为基数10)返回var的整数值。不应在对象上使用intval(),因为这样做将发出E_通知级别错误并返回1

更新

想知道
(int)$string
intval($string)
之间的区别是什么,对前面的SO问题有一些有趣的评论

  • (int)
    的速度提高了600%
  • intval
    使在其他函数中进行类型转换更加容易
  • intval
    有更改基数的好处(尽管这一点相当模糊)
  • intval
    更具可读性(尽管这显然非常主观)


您是否尝试过
intval()

int-intval(混合$var[,int$base=10])

使用指定的转换基数(默认值为基数10)返回var的整数值。不应在对象上使用intval(),因为这样做将发出E_通知级别错误并返回1

更新

想知道
(int)$string
intval($string)
之间的区别是什么,对前面的SO问题有一些有趣的评论

  • (int)
    的速度提高了600%
  • intval
    使在其他函数中进行类型转换更加容易
  • intval
    有更改基数的好处(尽管这一点相当模糊)
  • intval
    更具可读性(尽管这显然非常主观)

只是为了澄清这两种说法都是正确的。这些是按照中所述进行操作的方法


只是为了澄清这两种方法都是正确的。这些是按照中所述进行操作的方法


您可以将它作为url中的一个数字,作为
$\u GET
请求传入参数

或作为
$\u POST
请求传递


但是在$u POST请求的情况下,我们不能将值传递给url。如果需要,您可以使用
$\u SERVER['REQUEST\u URI']
并将其转换为
(int)$\u GET['pid']

,您可以将其作为url中的一个数字,作为
$\u GET
请求传递参数

或作为
$\u POST
请求传递


但是在$u POST请求的情况下,我们不能将值传递给url。如果你想,你可以使用
$\u服务器['REQUEST\u URI']
并转换为
(int)$\u GET['pid']

我知道PHP是动态键入的,但它总是一个字符串,我需要转换为整数。Yeees。。。我链接到“类型铸造”的部分解释了如何做。哈米什,如果你想回答这个问题,尽管大卫是对的,但你确实先到了那里,所以你有点值得表扬。不,没关系,我没有发布答案,虽然我建议David尽可能链接到文档。我知道PHP是动态类型的,但它总是一个字符串,我需要转换为整数。Yeees。。。我链接到“类型转换”的部分解释了如何做。哈米什,如果你想回答这个问题,尽管大卫是对的,但你确实先到了那里,所以你应该得到表扬。不,没关系,我没有发布答案,尽管我建议大卫在可能的情况下链接到文档。
<?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)

?>