剥离一个多维数组,然后输出


Stripping down a multdimensional array and then outputting

所以这是一个奇数。我正在构建一个基于"我被密码破解了吗?"服务我已经构建了在每个电子邮件地址中循环的函数,但在输出中,它变成了一个运行非常深入的多维数组,就像这样:

Array
(
    [0] => Array
        (
            ["foo@bar.com"] => Array
                (
                    [0] => Array
                        (
                            [Name] => 000webhost
                        )
                    [1] => Array
                        (
                            [Name] => Adobe
                        )
                    [2] => Array
                        (
                            [Name] => Patreon
                        )
                    [3] => Array
                        (
                            [Name] => Plex
                        )
                )
        )
    [1] => Array
        (
            ["foo2@bar.com"] => Array
                (
                    [0] => Array
                        (
                            [Name] => 000webhost
                        )
                )
        )
)

我很想知道如何将其删除,这样我就可以将其输出到每个电子邮件地址的适当报告中,并根据相应的电子邮件地址列出每个违规行为。我试过一个循环中的一个循环,但那不起作用。就像我说的,这个阵列非常深。如果有人能帮助我那就太好了!谢谢

我不确定你想在那里做什么,但如果你想从数组中获取邮件和违规次数,你可以这样做:

  $results = array(
            "foo@bar.com"=>array(
                    array("000webhost"),
                    array("Adobe"),
                    array("Patreon"),
                    array("Plex")
            ),
            "foo2@bar.com"=>array(
                    array("000webhost2")
            )
);

  foreach ($results as $mail=>$value) {
        echo "Mail: ".$mail." Breaches: ".count($value)."<br>";
  }

结果:

Mail: foo@bar.com Breaches: 4
Mail: foo2@bar.com Breaches: 1