如何按键显示值?

时间:2014-01-05 11:33:10

标签: php arrays

我有这个数组:

Array
(
    [name1@domain.com] => Array
        (
            [0] => domain.de
            [1] => domain.org
            [2] => domain.eu
        )

    [name2@domain.biz] => Array
        (
            [0] => domain.net
        )

)

我想要打印像这样的内容

name1@domain.com has domain.de, domain.org, domain.eu
name2@domain.biz has domain.net

我使用了这个技巧,但它不起作用:

foreach($array as $email => $domains){
        foreach($domains as $key => $domain){
        $domener_t[] = $domain;
    }
    $domains = implode(", ",$domener_t);
    echo $email.$domains."<br>";
}

2 个答案:

答案 0 :(得分:3)

你应该使用for-each循环。

foreach($array AS $domain => $domains) {
 printf("%s has %s\r\n", $domain, implode(", ", $domains));
}

答案 1 :(得分:0)

<?php 
$MyArray = array('name1@domain.com' => array('domain.de','domain.org','domain.eu'),'name2@domain.biz' => array('domain.net'));

foreach ($MyArray as $key => $value)
{
    echo $key . ' has '. implode(', ', $value).'<br>';
}
?>

输出

name1@domain.com has domain.de, domain.org, domain.eu
name2@domain.biz has domain.net