创建第3级foreach并循环数组并将其保存到数据中?

时间:2015-04-24 16:56:50

标签: php arrays sorting module opencart

我使用的是opencart 1.5.6.4。我已经创建了一个模块。

<?php $module_row = 1; ?>
<?php foreach ($modules as $module) { ?>

<?php $element = 1; ?>
<?php if(isset($module['tabs'])) { foreach($module['tabs'] as $tab) { ?>

<?php $elements = 1; ?>
<?php if(isset($tab['styles'])) { foreach($tab['styles'] as $style) {  ?>

<?php $elements++; } }  ?>

<?php $element++; }  } ?>

<?php $module_row++; } ?>

但是第3级没有工作和保存。

<?php $elements = 1; ?>
    <?php if(isset($tab['styles'])) { foreach($tab['styles'] as $style) {  ?>

当我将其更改为

<?php $elements = 1; ?>
        <?php foreach($tab as $style) { if ($style > 0) {  ?>

不能正常工作。

什么是正确的解决方案?

1 个答案:

答案 0 :(得分:0)

你真的需要回去学习基础知识。使用适当的缩进,检查数组和变量的值等。

实际上很难理解你的问题,你最后提供的两行代码甚至不使用相同的变量名。对于任何人做出合理的尝试来帮助您,他们需要在上下文中看到的代码部分。

所有这一切,这里有一种方法可以格式化你上面发布的内容,我建议你仔细研究并考虑你是否有意继续努力编写php:

<?php

$module_row = 1; 
foreach ($modules as $module) { 
    $element = 1;
    if (isset($module['tabs'])) {
        foreach($module['tabs'] as $tab) { 
            $elements = 1; 
            if (isset($tab['styles'])) {
                foreach($tab['styles'] as $style) {  
                    $elements++;
                }
            }  
            $element++;
        }
    } 
$module_row++;

?>