parse php,PHP parse_str() 函数

PHP的parse_str函数用于将查询字符串转换为变量,常用于处理URL参数。它接受一个字符串参数并可选地将结果存储到数组。在PHP7.2以后,不推荐在无结果参数的情况下使用,因为这可能导致动态设置变量的安全问题。使用时应注意变量名的转换规则,例如点和空格会被转换为下划线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(PHP 4, PHP 5, PHP 7)

parse_str — 将字符串解析成多个变量

说明

parse_str ( string $encoded_string [, array &$result ] ) : void

如果 encoded_string 是 URL 传递入的查询字符串(query string),则将它解析为变量并设置到当前作用域(如果提供了 result 则会设置到该数组里 )。

参数

encoded_string

输入的字符串。result

如果设置了第二个变量 result, 变量将会以数组元素的形式存入到这个数组,作为替代。Warning

极度不建议 在没有 result 参数的情况下使用此函数,并且在 PHP 7.2 中将废弃不设置参数的行为。

在函数中动态设置变量会和 register_globals 有同样的问题。

阅读「安全」中 使用 Register Globals 的章节,解释了它为什么是危险的。

返回值

没有返回值。

范例

Example #1 parse_str() 的使用

$str = "first=value&arr[]=foo+bar&arr[]=baz";

// 推荐用法

parse_str($str, $output);

echo $output['first']; // value

echo $output['arr'][0]; // foo bar

echo $output['arr'][1]; // baz

// 不建议这么用

parse_str($str);

echo $first; // value

echo $arr[0]; // foo bar

echo $arr[1]; // baz

?>

由于 PHP 的变量名不能带「点」和「空格」,所以它们会被转化成下划线。 用本函数带 result 参数,也会应用同样规则到数组的键名。

Example #2 parse_str() 名称改写

parse_str("My Value=Something");

echo $My_Value; // Something

parse_str("My Value=Something", $output);

echo $output['My_Value']; // Something

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值