Smarty Werte von 2 Arrays vergleichen

ber

Mitglied
Hallo zusammen,

ich habe in Smarty 2 Arrays, die jeweils mit foreach ausgegeben werden. Gibt es eine Möglichkeit, die Werte von diesen 2 Arrays zu vergleichen und bei Übereinstimmung 2er Werte eine Ausgabe zu tätigen?

Danke ber
 
Hallo & Dankeschön,

werden denn so alle Werte des ersten mit allen Werten des zweiten miteinander verglichen?

Um das noch kurz zu erklären:

In der foreach-Schleife von ersten Array wird die Ausgabe von Bildern erzeugt. Das 2 Array enthält andere und gleiche Bilder. Nur wenn die Bildinfos gleich sind, soll in der ersten Schleife eine Zusatzinfo ausgegeben werden, die dann auf dem Bild erscheint.

Grüße ber
 
Nein, da wird ein Element verglichen (achte auf 'index'). Du kannst das aber auch in deine foreach-Schleife einbauen (hier jetzt mal nur die relevanten Stellen):

Code:
{foreach schluessel=index ...}
  ...
  {if $arr1[$index] == $arr2[$index]}
  Gleichheit!
  {/if}
  ...
{/foreach}
 
Jetzt sind die Arrays aber nicht gleich gross, d.h. sie enthalten unterschiedlich viele Bildinfos.

Verständnisproblem: Wird denn oben nicht nur jeweils ein Wert mit dem anderen verglichen?
 
Tut mir leid, aber so bröckelweise, wie du die Infos raus gibst, wie das Ganze aufgebaut ist, kann man ich dir nicht präziser helfen. Vielleicht erläuterst du das erstmal was genauer, bevor das große Rätselraten hier weiter geht.

Im obigen Beispiel werden genau die Werte verglichen, die in $arr1 und $arr2 je am Index $index liegen. Wenn Objekte im Array sind macht es natürlich sin eine entsprechende Methode aufzurufen oder eine Eigenschaft abzufragen.
 
Code:
[{foreach from=$myview->getList() item=offerimage name=offerList}]	 [{/foreach}]
[{foreach from=$myview->getImageList() item=thelist name=imagelist}]						
        [{include file="myimage.tpl" bild=$thelist testid="action_"|bilder:$thelist =$smarty.foreach.meinebilderliste.iteration}]
	[{/foreach}]

Die Werte aus getlist sollen mit getimagelist verglichen werden und bei Übereinstimmung soll eine zusätzliche Ausgabe erfolgen.
 
Zurück