2016-04-09 17 views
2

Ich habe E-Mail-Vorlage Daten und ich versuche, es als assoziative Array mit Schlüsseln und Labels zu bekommen. Aber ich kann nicht richtig Array wie es sein sollte. Meine Vorlage ist die folgende:Looping durch Array-Daten

key_1:label1,key2:label2,...

ich diesen Text aus der Datenbank auf diese Weise:

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

Und ich bin immer Array mit dieser Struktur:

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

Wie Array mit Schlüsseln machen> label1, label2? Danke!

Antwort

5

Try this:

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

Wie Sie hier sehen mit der $ s Variable explodiert ':' geben Ihnen 'key1', 'label1' und so weiter. Dann müssen Sie es nur in einem anderen Array für Schlüssel und Wert verwenden, während Sie durchgehen.

+0

Vielen Dank! Es war schwierig für mich, es richtig zu formatieren! :) –

+0

Während dieses Code-Snippet die Frage lösen kann, [hilft eine Erklärung] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich, um die Qualität Ihres zu verbessern Post. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. Bitte versuchen Sie auch nicht, Ihren Code mit erklärenden Kommentaren zu füllen, dies reduziert die Lesbarkeit sowohl des Codes als auch der Erklärungen! – Rizier123