if (preg_match('/[a-z]{2}$/', $alpha2) == 0) { die("Invalid alpha2 code: {$alpha2}\n"); } $alpha2to3[$alpha2] = $alpha3B; } if ($alpha3T == '') { $alpha3T = null; } else { if (preg_match('/^[a-z]{3}$/', $alpha3T) == 0) { die("Invalid alpha3T code: {$alpha3T}\n"); } } if (isset($languages[$alpha3B])) { die("Duplicate alpha3B code: {$alpha3B}\n"); } $languages[$alpha3B] = [$alpha3B, $alpha3T, $alpha2, $englishName, $frenchName]; } exportToFile('languages.php', $languages); exportToFile('languages-2-to-3.php', $alpha2to3); exportToFile('languages-T-to-B.php', $alphaTtoB); printf('Successfully exported %d languages and %d alpha-2 mappings' . PHP_EOL, count($languages), count($alpha2to3)); /** * @param string $file * @param mixed $data * * @return void */ function exportToFile($file, $data) { file_put_contents($file, sprintf("<?php return %s;\n", var_export($data, true))); }
continue; } $name = checkName($name); $currencyCode = checkCurrencyCode($currencyCode); $numericCode = checkNumericCode($numericCode); $minorUnits = checkMinorUnits($minorUnits); $value = [$currencyCode, $numericCode, $name, $minorUnits]; if (isset($result[$currencyCode])) { if ($result[$currencyCode] !== $value) { throw new \RuntimeException('Inconsistent values found for currency code ' . $currencyCode); } } else { $result[$currencyCode] = $value; } } exportToFile('data/iso-currencies.php', $result); printf('Exported %d currencies.' . PHP_EOL, count($result)); /** * @param string $file * @param mixed $data * * @return void */ function exportToFile($file, $data) { file_put_contents($file, sprintf("<?php return %s;\n", var_export($data, true))); } /** * @param DOMElement $element * @param string $name *