Array sauberer in ein neues umschreiben
user796443
Auf der Suche nach einer eleganten Möglichkeit, dieses Chaos in PHP umzuschreiben, gibt es offensichtlich viele Zeilen, in denen etwas kürzeres und süßeres fantastisch wäre.
foreach ( $respArr[ 'opt' ] as $k => $v ) {
if ( $v == 'AirbagsFront' ) { $car[ 'opt_o' ][ 'Airbags' ] = 1; } else
if ( $v == 'AlarmSystem' ) { $car[ 'opt_o' ][ 'Alarm' ] = 1; }
}
Eingang:
["AlarmSystem","AirbagsFront"]
Erwartete Ausgabe:
"opt_o":{"Airbags":1,"Alarm":1}
Ich hoffe, es macht dir nichts aus, wenn ich json anstelle von Arrays zeige.
FuzzyTree
Hier ist eine Möglichkeit, die Karte mithilfe eines assoziativen Arrays zu definieren, um das Hinzufügen / Entfernen von Zuordnungen zu vereinfachen:
$map = array(
'AirbagsFront' => 'Airbags',
'AlarmSystem' => 'Alarm',
);
foreach ($respArr['opt'] as $v) {
if(isset($map[$v])) {
$car['opt_o'][$map[$v]] = 1;
}
}