Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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 使用smarty比较多维数组值_Php_Smarty - Fatal编程技术网

Php 使用smarty比较多维数组值

Php 使用smarty比较多维数组值,php,smarty,Php,Smarty,我有多维数组 Array (4) 0 => Array (6) 0 => 0 1 => "100100105" 2 => "honey" 3 => "SUP" 4 => 0 5 => 0 1 => Array (6) 0 => 1 1 => "100100608" 2 => "bunny" 3 => "MEM" 4 => 0 5 => 0 2 => Arra

我有多维数组

 Array (4)
0 => Array (6)
  0 => 0
  1 => "100100105"
  2 => "honey"
  3 => "SUP"
  4 => 0
  5 => 0
1 => Array (6)
  0 => 1
  1 => "100100608"
  2 => "bunny"
  3 => "MEM"
  4 => 0
  5 => 0
2 => Array (6)
  0 => 1
  1 => "100100609"
  2 => "munny"
  3 => "DISTSTD"
  4 => 0
  5 => 0
3 => Array (6)
  0 => 2
  1 => "100300054"
  2 => "sunny"
  3 => "MEM"
  4 => 0
  5 => 0
要使用smarty将当前级别的零值与下一级别的零值(如数组[0][0]==数组[1][0])进行比较

我只能得到当前元素的值。如何获取当前循环中的下一个元素值

  {{foreach from=$volume item=element}}
      {{if $element@iteration > 1}}
            {{$element[0]}}
          {{/if}}
  {{/foreach}}

要在Smarty中访问阵列,需要将要访问的索引分配给变量,以便能够索引到阵列中

{foreach from=$volume item=element name=foo}
  {assign var=nextIteration value=$smarty.foreach.foo.iteration + 1}
  {$volume[$nextIteration]}
{/foreach}
我猜要进行比较,您应该:

  {foreach from=$volume item=element name=foo}
      {assign var=nextIteration value=$smarty.foreach.foo.iteration + 1}

      {if ($nextIteration + 1) >= count($volume) }
          Last element
      {elseif $volume[$nextIteration][0] == $element[0]}
          They matched!
      {else} 
          They are different!
      {/if}
  {/foreach}

然而,这是一种非常糟糕的使用Smarty的方式,因为它以一种非常丑陋的方式破坏了模式。如果你只是写一篇文章来处理这样复杂的情况,你会更好。是的,它可能仍然打破了MVC模式,但它至少是可维护的,而不是在模板中包含复杂的代码。

非常感谢。这很有帮助