PHP函数或如何在一页上的不同实例中多次使用此代码,而不使用php include

时间:2018-12-16 12:23:25

标签: php function loops foreach

所以我想将此代码多次包含在具有不同数据的一页上:

if (!empty($faq[$fisf][$title]) ) {
    echo '<div class="card card-body col-12"><h5 class="card-title">'.$faq[$fisf][$title].'</h5>';

    if (!empty($faq[$fisf][$image]) ) {
        echo '<img src="'.$faq[$fisf][$image].'" alt="'.$faq[$fisf][$title].'" class="img-fluid">';
    }

    if (!empty($faq[$fisf][$title]) ) {
        echo $faq[$fisf][$text];
    }

    echo '</div>';
}

我通常要做的是将此代码放在一个单独的文件中,然后根据需要将其包含多次,并取决于该代码在循环中或在foreach中的位置,它将显示相关数据!

但是我正在尝试找到一种更好的方法,例如使用一个函数!

这样的:

function faqmodal() {
    if (!empty($faq[$fisf][$title])) {
        echo '<div class="card card-body col-12"><h5 class="card-title">'.$faq[$fisf][$title].'</h5>';

        if (!empty($faq[$fisf][$image])) {
            echo '<img src="'.$faq[$fisf][$image].'" alt="'.$faq[$fisf][$title].'" class="img-fluid">';
        }

        if (!empty($faq[$fisf][$title])) {
            echo $faq[$fisf][$text];
        }

        echo '</div>';
    }
}

我希望此函数在不同的foreach中运行,并将相关数据加载到其运行位置。

faqmodal();

所以这部分将取决于foreach告诉它使用什么来加载它:

$faq[$fisf][$title]

但是现在函数无法将上面的代码转换为相关的foreach循环中的内容,告诉它用它填充!

但这可能不是最明智的方法,我愿意接受任何想法!

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解,应该通过将数据作为如下函数的参数传递来解决:

function faqmodal($title, $image, $text){
    if (!empty($title) && !empty($image) && if (!empty($text)) {
        echo '
        <div class="card card-body col-12">
            <h5 class="card-title">'.$title.'</h5>
            <img src="'.$image.'" alt="'.$title.'" class="img-fluid">
        '.$text.'</div>'; //you might wanna think about moving the text into e.g. a <span> tag
    }
}

如果您现在要调用该函数,您将像这样进行操作:

faqmodal($faq[$fisf][$title], $faq[$fisf][$image], $faq[$fisf][$title]);

您传递的数据将根据通过foreach循环获得的数据而有所不同。如果这不是您的意思,请通过评论告知我,我们将继续努力。