Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php为foreach中的每三个结果添加html元素?_Php - Fatal编程技术网

如何使用php为foreach中的每三个结果添加html元素?

如何使用php为foreach中的每三个结果添加html元素?,php,Php,我想使用php为foreach中的每3个结果添加ul li html元素。我试过以下方法。但我没有得到确切的结果。请就此提出建议 Array ( [0] => stdClass Object ( [category_name] => Architect ) [1] => stdClass Object ( [category_name] => Doors & Windows ) [2] => stdClass Object ( [category_

我想使用php为foreach中的每3个结果添加ul li html元素。我试过以下方法。但我没有得到确切的结果。请就此提出建议

 Array ( [0] => stdClass Object ( [category_name] => Architect ) 
 [1] => stdClass Object ( [category_name] => Doors & Windows ) 
 [2] => stdClass Object ( [category_name] => Garage Doors ) 
 [3] => stdClass Object ( [category_name] => Home Inspection ) )



      <?php 
                    $i=0;
                     //$arrays = array_chunk($get_business_cat_details, 3);
                    foreach($get_business_cat_details as $key=> $cat_name){                                                         

                                //echo " <ul style='margin-top: 20px;'><li><a href='#'>".ucwords($cat_name->category_name) ."</a></li>";
                                if($i%3==0){

                                    echo "<ul><li><a href='#'>".ucwords($cat_name->category_name) ."</a></li></ul>";

                                }else{
                                    echo "<ul><li><a href='#'>".ucwords($cat_name->category_name) ."</a></li></ul>";
                                }
                                $i++;

                        }


                    ?>

我想这可能就是你想要的。由于初始标记在循环中,所以每个结果本质上都是一个完整的列表。通过从循环中删除标记,可以关闭标记并在循环中动态打开新标记

请尝试下面的代码

    <?php

$i = 0;
//$arrays = array_chunk($get_business_cat_details, 3);
foreach ($get_business_cat_details as $key => $cat_name) {

    //echo " <ul style='margin-top: 20px;'><li><a href='#'>".ucwords($cat_name->category_name) ."</a></li>";
    if($i==0) {
        $get_style="style='margin-top: 20px;'";
    } else {
        $get_style="";
    }

    if ($i % 3 == 0) {
        echo "<ul ".$get_style." >";
    }

    echo "<li><a href='#'>" . ucwords($cat_name->category_name) . "</a></li>";

    $i++;
    if ($i % 3 == 0 && $i != 0) {
        echo "</ul>";
    }
}
?>

将数组与预期输出一起发布。你可以使用
for($i=0;$i
@markatteteam你能告诉我你得到了什么类型的结果吗?是的,得到了结果,但是如何为第一个结果添加页边距:20pxalone@markatteteam您的意思是只为第一个结果添加这个“