2010-07-29 100 views
0

目前我有一個數組,列出電子郵件地址作爲鍵和網址作爲值,我想使用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://stackoverflow.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://stackoverflow.com/faq', 
     array (
     0=> 'http://stackoverflow.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

回答

1

我相信這應該做的伎倆:

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