2017-09-07 1 views
0

Wenn ich array_combine benutze, bin ich in der Lage, zwei Arrays zu kombinieren und die Schleife durchzuziehen. Im Beispiel unten kann ich $ Titel in meinem HTML.Kombiniere mehr als 2 Smarty Arrays

{foreach array_combine($p_titles, $p_prices) as $title => $price}<!--SOME HTML-->{/foreach}  

Wenn ich jedoch versuche, ein anderes Array zu dieser Lösung hinzuzufügen, bricht es. Meine lokale Host-Anzeigen ist kein anderer Fehler als „Seite funktioniert nicht‚localhost ist derzeit nicht in der Lage diese Anforderung zu handhaben.‘

{foreach array_combine($p_titles, $p_prices, $p_ids) as $title => $price => $id}<!--SOME HTML-->{/foreach} 

Wie kombiniere ich 3 oder mehr Arrays mit dieser Methode.

+0

ändern, was Sie geschrieben haben, nachdem jemand in Antwort gibt, ist nicht cool. Dies deaktiviert Personen, die nach ähnlichen Suchanfragen suchen, um die richtige Antwort zu finden. –

+0

Ich würde annehmen, dass die Frage besser beschriftet würde, wenn die Leute es finden würden. Danke für den Ratschlag. – user3841443

+0

Ich habe meine Antwort aktualisiert, um zu liefern, was Sie gefragt haben. –

Antwort

0

Erste von allen, hat Sie Javascript jedoch, was Sie gezeigt haben, in Ihnen hinterfragen PHP ist.

Zweitens ist die array_combine nur zwei Parameter akzeptiert. Documentation.

array_combine zur Verwendung für drei Arrays dies zu tun:

$combinedArray = array_combine($p_titles, $p_prices); 
$combinedArray = array_combine($combinedArray, $p_ids); 

bearbeiten: Antwort, die Ihren Code in normaler PHP-Syntax entspricht.

$result = array(); 

foreach($p_titles as $key => $value) 
{ 
    $result[$value] = array('price' => $p_prices[$key], 'id' => $p_ids[$key]); 
} 

echo($result); 

können Sie diese Daten wie diese zuzugreifen: $result['title']['price'] oder $result['title']['id'];


Edit 2: Und der Smarty Code.

Ich bin nicht so vertraut mit Smarty Syntax so könnte dies nicht funktionieren:

{ $result = array(); } 

{ foreach from=$p_titles key=key item=value } 

    { $result[$value] = array('price' => $p_prices[$key], 'id' => $p_ids[$key]) } 

{ /foreach } 
+0

Im Beispiel verwendete ich die Methode {foreach}. Allerdings kann ich dies mit Ihrer Lösung verwenden. Erstellen Sie wie zuvor eine Variable aus jedem Array. dh. {$ titel}. – user3841443

+0

Ich habe gerade die Arbeit verlassen und kann meine Antwort nicht aktualisieren. Wenn Sie darauf warten, dass ich nach Hause komme, gebe ich Ihnen gerne eine Antwort, die Ihrem Code entspricht. –

+0

Können Sie mir helfen? – user3841443