gpt4 book ai didi

javascript - PHP 中的分块数组为 3(在 JS 中可以解决)

转载 作者:行者123 更新时间:2023-11-28 12:59:54 25 4
gpt4 key购买 nike

正如标题所说,我想将数组分成三 block ,并将结果显示在一行中。

在 JS 中没有问题:

const array = [1,2,3,4,5,6,7];
let i, arr, j;

for (i = 0; i < array.length; i += 3) {

arr = array.slice(i, i + 3);
let div = document.createElement("div");
div.classList.add('row');

for (j = 0; j < arr.length; j++) {
let par = document.createElement("p");
let res = document.createTextNode(arr[j]);
par.appendChild(res);
div.appendChild(par);
}

document.body.appendChild(div);

}

正确获取:

<div class="row">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<div class="row">
<p>4</p>
<p>5</p>
<p>6</p>
</div>
<div class="row">
<p>7</p>
</div>

在 PHP 中,这样:

<?php
$array = [1,2,3,4,5,6,7];
for ($i = 0; $i < count($array); $i += 3) :
$arr = array_slice($array, $i, $i + 3);
?>

<div class="row">
<?= implode(" ", $arr); ?>
</div>

<?php endfor; ?>

我得到:

<div class="row">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<div class="row">
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</div>
<div class="row">
<p>7</p>
</div>

我总是把中间行弄错(即使你增加$array),我错过了什么? :/

最佳答案

array_slice()的第三个参数是长度而不是终点,所以将其更改为...

$arr = array_slice($array, $i, 3);

关于javascript - PHP 中的分块数组为 3(在 JS 中可以解决),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51630869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com