2017-09-07 19 views
0

array_combineを使用すると、2つのアレイを結合してループスルーを使用できます。下の例で私は私のHTMLで$ titleすることができます。Smartyアレイを2つ以上組み合わせる

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

ただし、このソリューションに別の配列を追加しようとすると、その配列が破損します。私のローカルホストは、「ページが機能していない 『はlocalhostは現在、この要求を処理できない以外のエラーが表示されていません。』

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

私はこの方法を使用して3以上のアレイを結合するにはどうすればよい。

+0

を誰かが答えになります後にクールではありません投稿しているものを変更します。これにより、同様のクエリを検索して正しい答えを見つける人々が無効になります。 –

+0

私は質問をよりよくラベル付けすると、人々がそれを見つけるのに役立つだろうと思います。アドバイスありがとう。 – user3841443

+0

あなたの質問に答えるために私の答えを更新しました。 –

答えて

0

ファーストをすべての、あなたはPHPで質問あなたがあなたの中に示されているがJavascriptをタグ付け。

を第二に、array_combineは、2つのパラメータのみを受け入れます。Documentation

をするためにarray_combineを使用するには

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

編集:通常のPHP構文で、あなたのコードに一致する回答3つの配列は、これを行います。

$result = array(); 

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

echo($result); 

あなたはこれらのように、このデータにアクセスすることができます:$result['title']['price']または$result['title']['id'];


編集2:そしてSmartyコード。

私はこれが動作しない場合がありますSmarty構文とその慣れていないよ:

{ $result = array(); } 

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

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

{ /foreach } 
+0

与えられた例では、{foreach}というメソッドを使用していました。しかし、私はあなたのソリューションでこれを使うことができます。以前のように各配列から変数を作成します。すなわち、 {$ title} – user3841443

+0

私は仕事を辞めましたが、私の答えを更新できません。あなたが私の家に帰るのを待っているなら、私はあなたのコードに合った答えをあなたに提供してくれるでしょう。 –

+0

お手伝いできますか? – user3841443

関連する問題