2016-04-09 14 views
2

私は電子メールのテンプレートデータを持っており、キーとラベルを持つ連想配列として取得しようとしています。しかし、私は正しい配列を作ることができません。配列データをループする

key_1:label1,key2:label2,...

私はこの方法でデータベースからこのテキストを取得:

$subject = explode(',', $subject); 
 
    foreach($subject as $s) 
 
    { 
 
    $subjects[] = explode(':', $s); 
 
    } 
 
var_dump($subjects);

そして、私はこのような構造を持つ配列を取得しています:

私のテンプレートは以下のとおりです。

array(2) { 
 
    [0]=> 
 
    array(2) { 
 
    [0]=> 
 
    string(12) "key1" 
 
    [1]=> 
 
    string(16) "label1" 
 
    } 
 
    [1]=> 
 
    array(2) { 
 
    [0]=> 
 
    string(12) "key2" 
 
    [1]=> 
 
    string(12) "label2" 
 
    } 
 
}

キー - > key1、key2、値 - > label1、label2で配列を作る方法は? ありがとう!

答えて

5

これを試してみてください:

$subject = explode(',', $subject); 
foreach($subject as $s) 
{ 
$key_value = explode(':', $s); 
$subjects[$key_value[0]] = $key_value[1]; 
} 
var_dump($subjects); 

をあなたが$ s変数を爆発こちらをご覧として ':'、そうで 'LABEL1' と 'のキー1' をお渡しします。ループする間にキーと値を別の配列で使用するだけで済みます。

+0

ありがとうございました!それを正しくフォーマットするのは難しいことでした。 :) –

+0

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は、あなたの役職。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – Rizier123