如何解决在PHP的每一列中垂直打印数组
我有一个数字数组,其行数和列数是已知的。我希望每个循环中的每一列都打印在一个列表中。
$row = 3;
$col = 4;
$arr=[
'1','2','3','4','5','6','7','8','9','10','11','12'
];
输出:
<ul>
<li>1<li>
<li>5<li>
<li>9<li>
<ul>
<ul>
<li>2<li>
<li>6<li>
<li>10<li>
<ul>
<ul>
<li>3<li>
<li>7<li>
<li>11<li>
<ul>
<ul>
<li>4<li>
<li>8<li>
<li>12<li>
<ul>
我尝试使用array_chunk foreach,但结果按顺序和水平显示
解决方法
我尝试使用array_chunk foreach
大块是连续项目的组,但是您要在此处“分组”的项目不是连续的。
用两个嵌套的public function setUserName(string $user_name): self
{
$this->user_name = $user_name;
return $this;
}
循环解决这个问题很简单。您需要做的就是根据您当前的行号和列号计算正确的索引以访问正确的数组元素。
(您在此处对变量的命名似乎是错误的方式,但在本示例中,我将坚持使用它们的方式。)
for
您需要四个for($c = 0; $c < $col; ++$c) {
echo '<ul>';
for($r = 0; $r < $row; ++$r) {
echo '<li>' . ($arr[$r * $col + $c]) . '</li>';
}
echo '</ul>';
}
元素,因此我们首先遍历“列”,然后在每个列表中需要三个项,因此遍历内部循环中的“行”数。
然后简单地计算出访问适当元素的索引,即当前行索引乘以列数,再加上当前列索引。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。