首页 > 解决方案 > 将新项目插入 wordpress 数组 [PHP]

问题描述

我想在<li>我的函数输出中插入新元素。

function gallery_nav() {
    $i = 0;
    foreach ($myArray as $key ) {
        $i++;
        echo '<li><a href="#">'. $i .'</a></li>';
    }
}

它打印这个 html

<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>

我可以<li>在这个数组中插入自定义元素吗?像这样:

<li>1</li>
<li>2</li>
<li class="custom">3</li>
<li>4</li>
<li>5</li>
<li class="custom">6</li>
<li>7</li>
<li>8</li>
<li>9</li>

标签: phparraysforeachinsert

解决方案


您可以简单地修改您的函数以检查特定的迭代次数并输出一些额外的内容:

$i = 0;

foreach ($myArray as $item => $value) {
    $i++;

    if ($i % 3 === 0) {
        echo '<li class="custom"><a href="#">' . $i . '</a></li>';
    }

    echo '<li><a href="#">'. $i .'</a></li>';
}

这将每 3 次迭代添加一个额外的li元素。

如果您不希望它li每第三次迭代添加一次额外的,则将其修改回:

$i = 0;

foreach ($myArray as $item => $value) {
    $i++;

    if ($i % 3 === 0) {
        $class = 'custom';
    } else {
        $class = '';
    }

    echo '<li class="' . $class .'"><a href="#">' . $i . '</a></li>';
}

如果您只在第 3 次和第 6 次迭代中需要它而不需要其他,请将条件修改为:

if ($i === 3 || $i === 6) {
    // code
}

推荐阅读