Hallo zusammen,
ich würde gerne 2 Arrays mit array_combine zusammenfügen, damit die Werte in Array1 meine Keys ergeben und die Werte in Array2 meine Values ergeben.
Die Werte stammen aus einer .yml-Datei die jeweils eine componentgroup als Key und einen componentname als Value haben.
Nun hab ich das Problem, dass in $yamlKeys gleiche Werte vorkommen können.
In $yamlMap wird dann jedoch nur ein Value (nämlich der letzte) diesem Key zugewiesen.
Zur Veranschaulichung:
In der yaml-Datei sieht es so aus:
Mein Code macht das:
Ich will aber, dass er das macht:
Ist das überhaupt möglich? Falls ja, kann mir jemand auf die Sprünge helfen?
ich würde gerne 2 Arrays mit array_combine zusammenfügen, damit die Werte in Array1 meine Keys ergeben und die Werte in Array2 meine Values ergeben.
Die Werte stammen aus einer .yml-Datei die jeweils eine componentgroup als Key und einen componentname als Value haben.
PHP-Code:
$yamlKeys = array();
foreach ($yaml['components'] as $yamlComponent) {
array_push($yamlKeys, $yamlComponent['cachet']['componentgroup']);
}
$yamlValues = array();
foreach ($yaml['components'] as $yamlComponent) {
array_push($yamlValues, $yamlComponent['cachet']['componentname']);
}
$yamlMap = array();
$yamlMap = array_combine($yamlKeys, $yamlValues);
echo("===== YAML MAP STARTS =====");
var_dump($yamlMap);
echo("===== YAML MAP ENDS =====");
In $yamlMap wird dann jedoch nur ein Value (nämlich der letzte) diesem Key zugewiesen.
Zur Veranschaulichung:
In der yaml-Datei sieht es so aus:
PHP-Code:
FOO => BAR
Key1 => Value1
Key2 => Value2
FOO => BAZ
Key3 => Value3
PHP-Code:
FOO => BAZ
Key1 => Value1
Key2 => Value2
Key3 => Value3
PHP-Code:
FOO => BAR, BAZ
Key1 => Value1
Key2 => Value2
Key3 => Value3
Kommentar