创建另一个维度到一个基址的网站地址网址

问题描述:

目前我有一个数组,列出电子邮件地址作为键和网址作为值,我想使用parse_url(除非提供更好的建议)并创建另一个维度包含基本网址的数组。这是我目前有:创建另一个维度到一个基址的网站地址网址

array (
    '[email protected]' => 
    array (
    0 => 'http://www.google.co.uk/foo/bar', 
    1 => 'http://www.reddit.com/r/programming/', 
), 
    '[email protected]' => 
    array (
    0 => 'http://*.com/faq', 
    1 => 'http://de.php.net/parse_url', 
), 
    '[email protected]' => 
    array (
    0 => 'http://www.bleepingcomputer.com/forums/', 
), 
) 

而这正是我想要的输出是:

array (
    '[email protected]' => 
    array (
    0 => 'http://www.google.co.uk/foo/bar', 
     array (
     0=> 'www.google.co.uk' 
    )  
    1 => 'http://www.reddit.com/r/programming/', 
     array (
     0=> 'www.reddit.com' 
    ), 
), 
    '[email protected]' => 
    array (
    0 => 'http://*.com/faq', 
     array (
     0=> 'http://*.com' 
    ) 
    1 => 'http://de.php.net/parse_url', 
     array (
     0=> 'de.php.net' 
    ), 
), 
    '[email protected]' => 
    array (
    0 => 'http://www.bleepingcomputer.com/forums/', 
     array (
     0=> 'http://www.bleepingcomputer.com' 
    ), 
), 
) 

任何帮助是非常感谢!

+0

为什么不拿到在运行时域的一部分?只是'get_domain($ a [$ email] [0])'而不是'$ a [$ email] [0] [0]' – 2010-07-30 07:00:50

我相信这应该做的伎俩:

foreach($some_array as $email => $urllist) 
{ 
    foreach($urllist as $key => $url) 
    { 
     $some_array[$email][$key] = array($url,parse_url($url,PHP_URL_HOST)); 
    } 
} 
+0

从技术上讲,用户请求的结构并不完全相同,但坦言这是一件好事因为请求的结构无效。您可能希望对其进行编辑并添加缺失的右括号。 :) – 2010-07-29 14:14:18