使用一个foreach循环(PHP)将数组值拆分为两个输出(例如奇数/偶数)-将数组输出拆分为两个


Separate array values into two outputs (ex. odd / even) with one foreach loop (PHP) - split array output into two

我有这个脚本从外部。ini文件中读取域列表并将它们转换为链接列表:

<?php
$listSeparator = ",";
$lines = file('list.ini');
foreach ($lines as $line) {
    $listvalues = explode('=',$line);
    echo implode("<br />",array_map("add_link",explode($listSeparator,str_replace(' ', '', $listvalues[1]))));
}
function add_link($n)
{
    return "<p><a href='"$n'">$n</a></p>";
}
?>

我想要实现的是有两个输出(奇数/偶数),从第一个值开始,像这样:

return "<section>
            <p class='"odd'">
                <a href='"{odd}'">{odd}</a>
            </p>
            <p class='"even'">
                <a href='"{even}'">{even}</a>
            </p>
        </section>";

提前感谢!

最简单的方法:

$odd = false;
function add_link($n)
{
    global $odd;
    $odd = !$odd;
    $class = ($odd) ? 'odd' : 'even';
    return "<p class='"$class'"><a href='"$n'">$n</a></p>";
}

当然,在代码中还有其他关于HTML与PHP,函数和作用域等混合的问题,但我只是建立在你的代码。

如果你使用这些类只是为了样式化,你可以使用纯CSS::n -child()

(如果您使用的不是旧版本的浏览器)