当前位置: 代码迷 >> 综合 >> PHP字符串函数parse_str(将字符串解析成多个变量)
  详细解决方案

PHP字符串函数parse_str(将字符串解析成多个变量)

热度:47   发布时间:2024-02-09 01:41:47.0

  在PHP中,字符串函数 parse_str() 将字符串解析成多个变量。

    函数语法:

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

    函数参数说明:

参数 描述
encoded_string 必需。规定要解析的字符串。
result 可选。规定存储变量的数组名称。该参数指示变量存储到数组中。

    parse_str() 函数将字符串解析成多个变量。如果 encoded_string 是 URL 传递入的查询字符串(query string),如果未设置 result 参数,则该函数设置的变量将覆盖当前作用域中已存在的同名变量;如果提供了 result 则会设置到该数组里。       

    注意:该函数没有返回值。

    举例1,将字符串解析成当前作用域中的多个变量:   

<?php
// 将字符串解析成当前作用域中的多个变量
$id = 0;
$name = '';
$favorite = [];// 解析字符串
$str = 'id=1&name=zhangsan&favorite[]=rice&favorite[]=noodle';
$res = parse_str($str);// 输出
print($id);
echo '<br>';
print($name);
echo '<br>';
print_r($favorite);

    以上代码输出如下:

1
zhangsan
Array ( [0] => rice [1] => noodle )

    举例2,将字符串解析存储到指定数组:   

<?php
// 将字符串解析存储到指定数组
$str = 'id=1&name=zhangsan&favorite[]=rice&favorite[]=noodle';
$params = [];
parse_str($str, $params);// 输出
print_r($params);

    以上代码输出如下:

Array ( [id] => 1 [name] => zhangsan [favorite] => Array ( [0] => rice [1] => noodle ) )