<?php
$lexer = [ // will be normalized from => to
'Vorname' => 'Vorname',
'Nachname' => 'Nachname',
'Name' => 'Nachname',
];
$validator = [ // must be present
'Vorname',
'Nachname',
];
$data = [ // raw input
'Vorname' => 'Max',
'Name' => 'Mustermann',
'Alter' => '32',
];
function normalize($data, $lexer){
$result = [];
foreach($data as $key => $val){
if(isset($lexer[$key])){
$result[$lexer[$key]] = $val;
}
}
return $result;
}
echo 'translation ';
print_r($lexer);
echo 'validation ';
print_r($validator);
echo 'raw ';
print_r($data);
echo 'normalized ';
$normalized = normalize($data, $lexer);
print_r($normalized);
echo 'diff raw ';
print_r(array_diff(array_keys($data), $validator));
echo 'diff normalized ';
print_r(array_diff(array_keys($normalized), $validator));
- Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- translation Array
(
[Vorname] => Vorname
[Nachname] => Nachname
[Name] => Nachname
)
validation Array
(
[0] => Vorname
[1] => Nachname
)
raw Array
(
[Vorname] => Max
[Name] => Mustermann
[Alter] => 32
)
normalized Array
(
[Vorname] => Max
[Nachname] => Mustermann
)
diff raw Array
(
[1] => Name
[2] => Alter
)
diff normalized Array
(
)
preferences:
191.94 ms | 405 KiB | 227 Q