遍历 PHP 数组,但输出略有不同,具体取决于您当前在数组中的位置
Iterate through PHP array, but output slightly different depending on where in array you currently are
我有一个数组,我想遍历数组并输出内容。到目前为止一切顺利,没问题。
但是,我想将这个数组输出到一个列表中(HTML),但只为数组中的每5个项目输出一个新的<li>
。所以我想要的结果是这样的:
<li><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></li>
依此类推,直到阵列完成。
我可能想多了,但目前我有这个,它不能正常工作(我想在需要时使用模数输出 <li></li>
,但是......没有。
$filetypes = allowedMimeAndExtensions('extension','mime');
for ($c = 0; $c < count($filetypes); $c++) {
if ($c == 0 || $c % 5 == 0) {
echo '<li>';
}
list ($key, $value) = each($filetypes);
echo '<span class="helper" title="'.$value.'">'.$key.'</span>';
if (($c == 5) || ($c % 5 == 0)) {
echo '</li>';
}
}
有人能给我提示或给我指出正确的方向吗?
请阅读 array_chunk
PHP 函数
它将长数组拆分为包含输入块的多维数组。例如
$input = range(1, 10); // [1,2,3,4,5,6,7,8,9,10]
$chunked = array_chunk($input, 4); // [[1,2,3,4].[5,6,7,8],[9,10]];
然后使用嵌套的 foreach 在您的 li 中显示跨度
我有一个数组,我想遍历数组并输出内容。到目前为止一切顺利,没问题。
但是,我想将这个数组输出到一个列表中(HTML),但只为数组中的每5个项目输出一个新的<li>
。所以我想要的结果是这样的:
<li><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></li>
依此类推,直到阵列完成。
我可能想多了,但目前我有这个,它不能正常工作(我想在需要时使用模数输出 <li></li>
,但是......没有。
$filetypes = allowedMimeAndExtensions('extension','mime');
for ($c = 0; $c < count($filetypes); $c++) {
if ($c == 0 || $c % 5 == 0) {
echo '<li>';
}
list ($key, $value) = each($filetypes);
echo '<span class="helper" title="'.$value.'">'.$key.'</span>';
if (($c == 5) || ($c % 5 == 0)) {
echo '</li>';
}
}
有人能给我提示或给我指出正确的方向吗?
请阅读 array_chunk
PHP 函数
它将长数组拆分为包含输入块的多维数组。例如
$input = range(1, 10); // [1,2,3,4,5,6,7,8,9,10]
$chunked = array_chunk($input, 4); // [[1,2,3,4].[5,6,7,8],[9,10]];
然后使用嵌套的 foreach 在您的 li 中显示跨度