Skip to content

Instantly share code, notes, and snippets.

@rcknr
Last active September 26, 2018 20:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rcknr/3eb54bbe2209c18a9c2fe6cbe6341a3c to your computer and use it in GitHub Desktop.
Save rcknr/3eb54bbe2209c18a9c2fe6cbe6341a3c to your computer and use it in GitHub Desktop.
Austrian VAT Number Validation
<?php
$test = 'ATU10223006';
$check_array = array_chunk(
str_split(substr($test, 3, -1)),
2
);
$checksum = (10 - (4 +
array_sum(
array_column(
$check_array,
0
)
)
+
array_sum(
array_map(function($v) {
return $v * 2 % 10 + floor($v / 5);
}, array_column(
$check_array,
1
)
))
) % 10) % 10;
$checksum_valid = $checksum === intval(substr($test, -1));
echo 'Valid: ' . ($checksum_valid ? 'Yes' : 'No');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment