如何从PHP中的URL字符串获取参数?

2021年3月27日17:36:50 发表评论 797 次浏览

可以使用pase_url()和parse_str()函数在PHP中检索URL字符串中的参数。

注意:页面网址和参数之间用?字符。

parse_url()函数:parse_url()函数用于通过解析返回URL的组件。它解析一个URL并返回一个包含其各个组成部分的关联数组。

语法如下:

parse_url( $url, $component = -1 )

parse_str()函数:parse_str()函数用于将查询字符串解析为变量。传递给该函数进行解析的字符串采用通过URL传递的查询字符串的格式。

语法如下:

parse_str( $string, $array )

方法:使用parse_url()函数解析URL字符串, 该函数将返回一个包含其(传递的URL)各种组件的关联数组。 parse_url()函数返回的数组查询, 其中包含URL的查询字符串。

以下示例使用parse_url()和parse_str()函数从URL字符串获取参数

范例1:

<?php
  
// Inintialize URL to the variable
$url = 'http://www.lsbin.org?name=Tonny' ;
      
// Use parse_url() function to parse the URL 
// and return an associative array which
// contains its various components
$url_components = parse_url ( $url );
  
// Use parse_str() function to parse the
// string passed via URL
parse_str ( $url_components [ 'query' ], $params );
      
// Display result
echo ' Hi ' . $params [ 'name' ];
  
?>

输出如下:

Hi Tonny

范例2:

<?php
  
// Inintialize URL to the variable
$url = 'http://www.lsbin.org/register?name=Amit&email=amit1998@gmail.com' ;
      
// Use parse_url() function to parse the URL 
// and return an associative array which
// contains its various components
$url_components = parse_url ( $url );
  
// Use parse_str() function to parse the
// string passed via URL
parse_str ( $url_components [ 'query' ], $params );
      
// Display result
echo ' Hi ' . $params [ 'name' ]. ' your emailID is ' . $params [ 'email' ];
  
?>

输出如下:

Hi Amit your emailID is amit1998@gmail.com

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: