php查询字符串 解析
时间: 2023-09-19 08:07:11 浏览: 50
在PHP中,可以使用 `parse_str()` 函数来解析查询字符串。该函数使用类似于 `parse_url()` 函数的方式解析查询字符串,将其转换为关联数组。
下面是一个示例,演示如何使用 `parse_str()` 函数解析查询字符串:
```php
$queryString = "name=John&age=30&city=New%20York";
parse_str($queryString, $params);
print_r($params);
```
输出结果为:
```
Array
(
[name] => John
[age] => 30
[city] => New York
)
```
在该示例中,我们首先定义一个查询字符串 `$queryString`,其包含三个参数:`name`,`age` 和 `city`。然后我们使用 `parse_str()` 函数将查询字符串解析为关联数组 `$params`。最后,我们使用 `print_r()` 函数打印出数组内容。
需要注意的是,`parse_str()` 函数默认会将参数值解码为 URL 编码格式,因此在上面的示例中,`New%20York` 被解析为 `New York`。如果需要将参数值保留为 URL 编码格式,可以将第二个参数设置为 `true`,即 `parse_str($queryString, $params, true)`。
相关问题
PHP 解析json字符串
要解析 JSON 字符串,可以使用 PHP 内置的 json_decode 函数。
示例代码:
```
$jsonStr = '{"name": "John", "age": 30, "city": "New York"}';
// 解析 JSON 字符串
$data = json_decode($jsonStr);
// 访问解析后的数据
echo $data->name; // 输出 John
echo $data->age; // 输出 30
echo $data->city; // 输出 New York
```
在上面的示例中,首先定义了一个 JSON 字符串 $jsonStr,然后使用 json_decode 函数将其解析为 PHP 对象 $data。接下来就可以使用箭头运算符 -> 访问解析后的数据。
php解析两个特定字符串之间的字符串
要解析两个特定字符串之间的字符串,可以使用 PHP 的内置函数 `strstr()`、`strpos()` 和 `substr()`。具体方法如下:
使用 `strstr()`:
```php
$string = 'This is the [start]string[/start] we want to extract.';
$start = '[start]';
$end = '[/start]';
$substring = strstr($string, $start);
$substring = substr($substring, strlen($start));
$substring = strstr($substring, $end, true);
```
在上面的例子中,`strstr()` 函数会返回第一个出现的 `[start]` 之后的子字符串,然后使用 `substr()` 函数去掉 `[start]`,再使用 `strstr()` 函数返回第一个出现的 `[/start]` 之前的子字符串,也就是 `string`。
使用 `strpos()` 和 `substr()`:
```php
$string = 'This is the [start]string[/start] we want to extract.';
$start = '[start]';
$end = '[/start]';
$start_pos = strpos($string, $start) + strlen($start);
$end_pos = strpos($string, $end, $start_pos);
$substring = substr($string, $start_pos, $end_pos - $start_pos);
```
在上面的例子中,`strpos()` 函数找到 `[start]` 和 `[/start]` 的位置,然后使用 `substr()` 函数获取这两个位置之间的子字符串,也就是 `string`。
无论使用哪种方法,最终都可以得到位于两个特定字符串之间的子字符串。