1

次のような URL があります。

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で説明されている2 つの 方法です。

<?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 に答える