$from) { if (array_key_exists($from, $data)) { $out[$to] = $data[$from]; } } return $out; } protected function fieldMapTypes(array $data, array $map, string $dateFormat = "sql"): array { foreach ($map as $key => $type) { if (array_key_exists($key, $data)) { if ($type=="datetime" && $dateFormat != "sql") { $data[$key] = Date::transform($data[$key], $dateFormat, "sql"); } else { settype($data[$key], $type); } } } return $data; } protected function normalizeInput(array $data, array $types, string $dateFormat = null, int $mode = 0): array { $out = []; foreach ($types as $key => $type) { if (isset($data[$key])) { $out[$key] = ValueInfo::normalize($data[$key], $type | $mode, $dateFormat); } else { $out[$key] = null; } } return $out; } }