Как эффективно повторить блок кода PHP, включая цикл? - PullRequest
0 голосов
/ 27 сентября 2019

Я хотел бы повторить следующий код 15 или более раз на одной странице:

$html .= '<select name="select_product_category" 
class="dropdown_list"><option value="0">All 
categories</option>';

foreach($categories as $value)  {

$html .= '<option value="' . $value['category_id'] . 
'"';

if($value['category_id'] === $active_category_id) 
$html .= ' checked';

$html .= '>' . $value['category_name'] . '</option>';

}

$html .= '</select>';

Есть ли лучший способ добиться этого, чем просто повторить этот конкретный блок кода?Спасибо за вашу поддержку.

1 Ответ

1 голос
/ 27 сентября 2019

Попробуйте использовать функции, предложенные @ Don't Panic

<?php

    function generateSelectBoxHTML() 
    {
        $html = '<select name="select_product_category" class="dropdown_list"><option value="0">All categories</option>';
        foreach ($categories as $category) {
            $checked = '';
            if ($category['category_id'] === $activeCategoryId) {       
                $checked = ' checked="checked"';
            }

            $html .= sprintf('<option value="%s"%s>%s</option>', $category['category_id'], $checked, $category['category_name']);
        }

        $html .= '</select>';
        return $html;
    }

    $html .= generateSelectBoxHTML();
    // ...
    $html .= generateSelectBoxHTML();
    $html .= generateSelectBoxHTML();
    $html .= generateSelectBoxHTML();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...