Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 与if/else在其外部的Foreach';s函数_Php_Arrays_Joomla_Joomla3.0 - Fatal编程技术网

Php 与if/else在其外部的Foreach';s函数

Php 与if/else在其外部的Foreach';s函数,php,arrays,joomla,joomla3.0,Php,Arrays,Joomla,Joomla3.0,我正在创建一个Joomla模板(Joomla 3),你们中的一些人可能有这方面的经验,并且会认识到我遇到的问题。当您在模板中插入模块并将其保留为空时,仍然会占用一些空间。为了防止这种情况,我想添加一个变量CSS类。As解决方案使用了带有if else的阵列: 模块位置数组 为0的Foreach modulename将显示设置为无 foreach($modules as$module) 如果($this->countModules($module)='0'){ $display='display

我正在创建一个Joomla模板(Joomla 3),你们中的一些人可能有这方面的经验,并且会认识到我遇到的问题。当您在模板中插入模块并将其保留为空时,仍然会占用一些空间。为了防止这种情况,我想添加一个变量CSS类。As解决方案使用了带有if else的阵列:

模块位置数组

为0的Foreach modulename将显示设置为无

foreach($modules as$module)
如果($this->countModules($module)='0'){
$display='display block';
}否则{
$display='display none';
}

与其添加确定模块是否显示的类,不如简单地在
if
语句中添加html,如下所示:

<?php
  foreach ($modules as $module) {
      if ($this->countModules($module) == '0') { ?>
          <section>   
            <jdoc:include type="modules" name="modulename" />
          </section>
      <?php } else {
          $display = '';
      }
  }
?>

如果我理解正确,您想检查模块计数是否为0?如果为0,则将隐藏模块,对吗?有了这段代码,您就可以实现这一点

$moduleDisplays = array();
foreach ($modules as $module) {
    if ($this->countModules($module) == '0') {
        $moduleDisplays[$module] = ' display-block';
    } else {
        $moduleDisplays[$module] = ' display-none';
    }
}

<section class="<?php echo $moduleDisplays['modulename'] ?>">   
<jdoc:include type="modules" name="modulename" />
</section>
$moduleDisplays=array();
foreach($modules作为$module){
如果($this->countModules($module)='0'){
$moduleDisplays[$module]=“显示块”;
}否则{
$moduleDisplays[$module]=“无显示”;
}
}

您的代码有一些问题<代码>$display
不是数组,因此
$display['modulename']
将无法工作。如果if/else函数结束,是否可以继续。在模块名部分使用他,因为需要定义更多的数组?这就是我想要的。非常感谢!一个较短的符号,总是用它来表示。双重感谢,因为我每次都需要包含很多代码,而且他们有很多不同的立场。如果我错了,请原谅。我还需要选择在HTML中隐藏div的位置。
<?php
  foreach ($modules as $module) {
      if ($this->countModules($module) == '0') { ?>
          <section>   
            <jdoc:include type="modules" name="modulename" />
          </section>
      <?php } else {
          $display = '';
      }
  }
?>
$moduleDisplays = array();
foreach ($modules as $module) {
    if ($this->countModules($module) == '0') {
        $moduleDisplays[$module] = ' display-block';
    } else {
        $moduleDisplays[$module] = ' display-none';
    }
}

<section class="<?php echo $moduleDisplays['modulename'] ?>">   
<jdoc:include type="modules" name="modulename" />
</section>
$moduleDisplays = array();
foreach ($modules as $module) {
    $moduleDisplays[$module] = ($this->countModules($module) == '0') ? ' display-block' : ' display-none';
}

<section class="<?php echo $moduleDisplays['modulename'] ?>">   
<jdoc:include type="modules" name="modulename" />
</section>