如何在CodeIgniter的视图中使用这个看似简单的循环?

时间:2016-03-16 15:58:12

标签: php codeigniter

视图中,就在页脚之前,我想加载三个JavaScript文件。因此,控制器设置三个变量。例如,$ js_1 =“bootstrap.js”,$ js_2 =''和$ js_3 =“tinymce.js”,可能为空,也可能不为空。逻辑是,只有当变量不为空时才应该回显。我还想使用三元if运算符

这是我能尝试的最好的。

for ($i = 1; $i <= 3; $i++)
{
    echo (!empty ('$js_' . $i)) ? get_jscript('$js_' . $i) : NULL;
}

函数get_jscript()只返回HTML脚本src。

function get_jscript($js) 
{
    return '<script type="text/javascript" src="' . $js . '"></script> ';
}

请注意,我打算提出这个问题,主要是学习正确的PHP语法,而不仅仅是在视图中加载JS。

3 个答案:

答案 0 :(得分:2)

如果你可以像这样创建一个数组 - >

$javascript = array('js_1' => "bootstrap.js", 'js_2' => '', 'js_3' = "tinymce.js");

然后在你的视图中你必须只调用一个方法

loop_javascript($javascript);

最好在codeigniter helper中创建一个函数,并在控制器的函数中调用该帮助器(检查如何在编码器中使用帮助器)https://ellislab.com/codeigniter/user-guide/general/helpers.html - &gt;

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

if ( ! function_exists('loop_javascript'))
{
    function loop_javascript($jscript_array)
    {
        foreach($jscript_array as $key =>$value){
            if($value != ''){
                echo '<script type="text/javascript" src="' . $value. '"></script>';
            }
        }
    }   
}

答案 1 :(得分:1)

This有关于如何使用变量变量的一些很好的信息。

objects.each_with_index do |object, index|
  color = object.date.even? ? :grey : :white
  # etc.
end

答案 2 :(得分:0)

for ($i = 1; $i <= 3; $i++)
{
    if(!empty($js.'_'.$i)){ echo get_jscript($js.'_'.$i); echo "</br>";}
}

function get_jscript($js) 
{
    return '<script type="text/javascript" src="' . $js . '"></script> ';
}