Advertisement
Guest User

Generate's a Valid ABN

a guest
Nov 9th, 2015
828
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.46 KB | None | 0 0
  1. <?php
  2. public function generateAbn($random_number = null)
  3. {
  4.     $random_number = str_pad(($random_number ?? rand(1, 999999999)), 9, '0', STR_PAD_LEFT);
  5.     $abn = "10" . $random_number;
  6.     $weights = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
  7.     $sum = 0;
  8.     foreach ($weights as $position => $weight) {
  9.         $digit = $abn[$position] - ($position ? 0 : 1);
  10.         $sum += $weight * $digit;
  11.     }
  12.     return ((89 - ($sum % 89)) + 10) . $random_number;
  13. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement