php parse_str和parse_url 两个方便的方法

parse_str

url http://php.net/manual/zh/function.parse-str.php

将字符串格式化成变量
不过这么做太霸道了,7.2开始还是要用第二个变量,也就是说只能格式化成一个数组,否则会出一个已废弃的警告

<?php
$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 的变量名不能带「点」和「空格」,所以它们会被转化成下划线

<?php
parse_str("My Value=Something");
echo $My_Value; // Something

parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>

parse_url

url http://php.net/manual/zh/function.parse-url.php

解析url用,方便的从url中提取需要的信息,不用再自己写一长串正则来匹配了

也可以增加第2个参数来制定要输出的某个部分,譬如PHP_URL_PATH

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容