【问题标题】:How to make an php loop into an another php loop according to an array?如何根据数组将一个php循环变成另一个php循环?
【发布时间】:2021-06-05 02:18:48
【问题描述】:

我正在尝试根据 php 数组将一个 php 循环嵌套到另一个 php 循环中。第一个循环将根据数组有多少元素继续循环,我希望第二个循环将根据元素继续。如果第一个元素为 2,则用户输入重复 2 次,然后第二个元素为 3,则用户输入重复 3 次。当所有元素都消失时,循环停止。但我不知道该怎么做。


<body style="margin: 0 auto; width: 50%;">
                            <div class="input-field col s12">
                                
                                <?php  
                                
                                    $dolils = array("2","3","4");
                                    $total_dolils = count($dolils);
                                    
                                    for ($x = 1; $x <= $total_dolils; $x++) {
                                ?>
                                
                                        <p class="blue-text" style="color: blue; font-weight: bold;"><?php echo $x; ?> নং দিনে দলিলের হিসাবঃ </p>
                                        
                                        
                                <?php 
                                            $z = 0;
                                            for($y = 0; $y <= $dolils[$z]; $y++) {
                                ?>
                                            <p class="red-text" style="color: red; font-weight: bold;">দলিলের নাম্বার</p>
                                            <input id="input_number" type="number" name="dolils_no[]" data-length="10">
                                            <p>মোট পৃষ্ঠাঃ </p>
                                            <input id="input_number" type="number" name="page[]" data-length="10">
                                            <p>মোট লাইনঃ </p>
                                            <input id="input_number" type="number" name="line[]" data-length="10">
                                <?php
                                                $z++;
                                                echo "<br/>";
                                                echo $z;
                                                echo "<br/>";
                                                if($z >= end($dolils)){
                                                    die;
                                                }
                                            }
                                    }
                                ?> 

                            </div>
</body>

【问题讨论】:

    标签: php arrays loops for-loop nested-loops


    【解决方案1】:

    基本逻辑:

    <?php
    $content = '<div>';
    $dolils = array (2, 3, 4);
    
    foreach ($dolils as $dolil) {
        for ($i = 1; $i <= $dolil; $i++) {
            $content .= "<p>iteration {$dolil}/{$i} </p>";
        }
    }
    
    $content .= '</div>';
    
    // after all
    echo $content;
    

    额外提示:

    停止像这样混合 PHP 和 HTML 是不舒服的,错误提示而且丑陋。而是在一段 PHP 代码中构建 HTML,或者更好地熟悉模板引擎和/或 MVC 模式。

    【讨论】:

      猜你喜欢
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 2014-05-29
      • 1970-01-01
      • 2020-06-12
      相关资源
      最近更新 更多