我想在函数输出中插入新的<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>
答案 0 :(得分:0)
您可以简单地修改函数以检查特定的迭代编号并输出其他内容:
$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
}
答案 1 :(得分:0)
如果您的自定义索引是在数组中分配的,则可以执行以下操作:
<?php
$myArray = array(1,2,3,4,5,6,7); # Your original array
$customArray = array(3,6); # Your custom array
$VarCount = count($myArray); # Set the default loop count
function gallery_nav($myArray, $customArray=NULL, $VarCount) {
for($i=1; $i<=$VarCount; $i++) {
$Class = NULL;
if(in_array($i, $customArray)){
$VarCount++; # Increment extra <li>
$Class = "class=\"custom\"";
}
echo "<li {$Class}><a href=\"#\">{$i}</a></li>
";
}
}
gallery_nav($myArray,$customArray, $VarCount);
?>
这将导致:
<li ><a href="#">1</a></li>
<li ><a href="#">2</a></li>
<li class="custom"><a href="#">3</a></li>
<li ><a href="#">4</a></li>
<li ><a href="#">5</a></li>
<li class="custom"><a href="#">6</a></li>
<li ><a href="#">7</a></li>
<li ><a href="#">8</a></li>
<li ><a href="#">9</a></li>