PHP url 到数组
我有来自网络日志的这些网址:
http://www.domain.com/page?s=194&client=151678&m=a4a&v=1&g=54
http://www.domain.com/page?s=51&client=617171&m=b4z&v=8&g=97
如何在 PHP 中将此 URL 转换为数组,这样我将拥有一个像这样的数组
array(
'page' => array(
's' => 194,
'client' => 151678
'm' => 'a4a',
'v' => 1,
'g' => 54
)
etc..
)
,然后我可以循环到该数组以查找重复项或正确验证信息。
I have these urls from a web log:
http://www.domain.com/page?s=194&client=151678&m=a4a&v=1&g=54
http://www.domain.com/page?s=51&client=617171&m=b4z&v=8&g=97
How can I convert this URL in an array in PHPso i will have an array like this
array(
'page' => array(
's' => 194,
'client' => 151678
'm' => 'a4a',
'v' => 1,
'g' => 54
)
etc..
)
then later I can loop to that array to find duplicates or validate the information correctly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
PHP 有一个本机函数,即 parse_str 函数。您可以像这样使用它:
这将满足您的需要。
PHP has a native function for that, the parse_str function. You can use it like:
This will do just what you need.
可能有更好的方法来做到这一点,但这就是我想出的。
http://codepad.org/xTsAks46
There may be a better way to do this but this is what I came up with.
http://codepad.org/xTsAks46
使用
parse_url()
您可以将 URL 解析为关联数组。在结果数组中,您将获得查询部分。然后您可以使用parse_str()
将查询部分解析为新数组。With
parse_url()
you can parse the URL to an associative array. In the result array you get amongst others the query part. Then you can useparse_str()
for parsing the query part to your new array.假设您的问题路径始终为
/page
,包含已解析 URL 的数组不能有多个page
索引,因此您应该使用数字索引。试试这个:
$url_strings
是一个数组,其中包含要以字符串格式解析的所有 URL。$urls_parsed
是包含以您请求的格式解析的 URL 的结果数组。Assuming from your question that path will always be
/page
, the array containing the parsed URLs cannot have multiplepage
indexes so you should use numeric indexes.Try this:
$url_strings
is an array containing all the URLs you want to parse in string format.$urls_parsed
is the resulting array containing the URLs parsed in the format you requested.使用像这样的 parse_url 函数,
它将为您提供以下数组输出
并且从查询中您可以轻松地将其拆分为(键,值)对。希望这有帮助。:)
Use parse_url function like
Which will give you the following array output
And from the query you can easily split it as to (key,value) paira. Hope this helps.:)
你可以这样做:
这里的例子 http://codepad.org/KIDKPzaU
You could do:
example here http://codepad.org/KIDKPzaU