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

时间:2014-07-23 21:06:48

标签: php arrays sorting loops foreach

我有这个脚本从外部.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>";

提前致谢!

1 个答案:

答案 0 :(得分:1)

最简单的方法:

$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::nth-child()

(假设您没有使用旧浏览器)