ホームページ >バックエンド開発 >PHPチュートリアル >[php] phpで任意の数のパラメータを取得します
この記事は、「[サーブレット] Javaweb で任意の数のパラメータを取得する」 (クリックするとリンクが開きます) の関連記事です。
get メソッドを通じて PHP ページ間で任意のパラメータを渡す必要がある場合、その方法を説明します。それ?
例えば以下のように、numUndefindParameter.phpページにgetメソッドでどれだけパラメータを渡しても正常に取得できます。
もちろん、これは一般的に推奨されません。既に述べた、非常に有名な $ を使用することをお勧めします。 _REQUEST["XXXXパラメータ"];のやり方。
このメソッドは主に、一部のパラメーターが不明で、特定のメソッドを抽象化する必要がある PHP ページで使用されます。
PHP にも Javaweb と同じメソッドがありますが、このメソッドは get メソッドで渡されたパラメータのみを取得して操作できます。post メソッドで渡されたパラメータについては、現時点では良い解決策がありません。実際には、不定のパラメータを渡すことができるため、セキュリティが必要なページには使用されない軽量な get メソッドを使用します。
主に、PHP は $_SERVER['QUERY_STRING']; を使用するため、最初にアドレス バーの後ろにあるパラメーターを取得します。
次に、explode() メソッドを使用してパラメーター文字列 aaa=1&bbb=2&ccc=3 を分割します。これは、JavaScript および Java の Split メソッドと一致しています。
上記の numUndefindParameter.php のコードは次のとおりです:
<?php $paramstr=$_SERVER['QUERY_STRING'];//获取参数字符串 $arr = explode("&",$paramstr);//先根据&这个字符分割一个个参数存入数组$arr foreach($arr as $element){//再遍历$arr这个数组 $arr2= explode("=",$element);//对其中的每一个元素进行根据=进行分割,再存入数组 echo "${arr2[0]}的值为:${arr2[1]}";//=前面的字符串是参数名,后面的字符串是参数值 echo "<br/>"; }?>