1

我有一个如下所示的网址。

post/:id

我正在爆炸$_SERVER['REQUEST_URI']

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

$next = $uri[2]++;

我试过is_numeric了,但当然request_uri是一个字符串(分解成一个字符串数组)。

我可以在 php 中将类型转换为整数吗?

4

4 回答 4

3
$int = (int) $uri[2];

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

于 2012-07-26T23:31:06.760 回答
1

您是否尝试过:http intval(): //php.net/manual/en/function.intval.php

int intval(mixed $var [, int $base = 10 ])

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

更新

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

于 2012-07-26T23:31:28.107 回答
0

只是为了澄清DavidChrisW都是正确的。这是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)

?>
于 2012-07-26T23:46:54.770 回答
0

您可以将其作为来自 url 的数字作为$_GET请求传递参数。

$_POST或者作为请求传递。

但是在 $_POST 请求的情况下,我们不能将值传递给 url。如果你愿意,你可以使用$_SERVER['REQUEST_URI']并转换为(int) $_GET['pid'].

于 2015-07-15T04:50:24.653 回答