【问题标题】:php wrap every 3 elements in a tr for tablephp将每3个元素包装在一个tr for table
【发布时间】:2016-07-16 04:39:38
【问题描述】:

在我的一张桌子上,我想在我们上面输出,但它很少改变,任何帮助将不胜感激。

所以...

<tr>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
</tr>

变成……

<tr class="new"> 
    <td></td> 
    <td></td> 
    <td></td> 
</tr> 
<tr class="new"> 
    <td></td>
    <td></td>
    <td></td>
</tr>

【问题讨论】:

  • 您能解释一下您的期望吗?我没有得到你的问题。
  • 在 while 循环中每 3 个 td 添加带有动态记录的类的 tr

标签: javascript php logic


【解决方案1】:

如果你的 html 是字符串形式,你可以对字符串执行一些正则表达式和循环,并从数组中获得所需的结果,我不确定这是否是你要找的..

var result = html.match(/<td>(.*?)<\/td>/g).reduce(
	function(new_array,x,i,arr) {
		if(i % 3 == 0){
		new_array.push('<tr class="new">' + arr[i] + (arr[i+1] || '') + (arr[i+2] || '') + '</tr>');
		return obj;
               }
	}
,[])

【讨论】:

  • 感谢重播我想在 php 中而不是在 js 中回答
  • @JaydeepGondaliya 您能否在您的问题中提及这一点。并从问题中删除你的 javascript 标签。
【解决方案2】:

您只需要为此设置计数器,例如:

        $counter = 0;
        foreach ($table_data as $single_table_date){

            if ($counter % 3 == 0) {
                echo '</tr>';
                echo '<tr>';
            }

            echo '<td>';
            echo $single_table_date;
            echo '</td>';

            $counter++;
        }

【讨论】:

    猜你喜欢
    • 2018-02-11
    • 2020-06-05
    • 1970-01-01
    • 2022-01-24
    • 2016-12-26
    • 2014-09-07
    • 2011-03-22
    • 2011-04-01
    • 1970-01-01
    相关资源
    最近更新 更多