/** * Create Upc A * * Create the UPC-A code * * @param string $upcE code * @param integer $parityNumber Parity number to prepend * @return Returns the 12-Digit UPC-A code */ public static function createUpcA($upcE, $lastDigit, $checkDigit = null) { $parity = UpcEExpander::getParity($upcE); switch ($lastDigit) { case 0: $upc = $upcE[0] . $upcE[1] . '00000' . $upcE[2] . $upcE[3] . $upcE[4]; break; case 1: $upc = $upcE[0] . $upcE[1] . '10000' . $upcE[2] . $upcE[3] . $upcE[4]; break; case 2: $upc = $upcE[0] . $upcE[1] . '20000' . $upcE[2] . $upcE[3] . $upcE[4]; break; case 3: $upc = $upcE[0] . $upcE[1] . $upcE[2] . '00000' . $upcE[3] . $upcE[4]; break; case 4: $upc = $upcE[0] . $upcE[1] . $upcE[2] . $upcE[3] . $upcE[4] . '0000' . $upcE[5]; break; case 5: $upc = $upcE[0] . $upcE[1] . $upcE[2] . $upcE[3] . $upcE[4] . '0000'; break; case 6: $upc = $upcE[0] . $upcE[1] . $upcE[2] . $upcE[3] . $upcE[4] . '0000'; break; case 7: $upc = $upcE[0] . $upcE[1] . $upcE[2] . $upcE[3] . $upcE[4] . '0000'; break; case 8: $upc = $upcE[0] . $upcE[1] . $upcE[2] . $upcE[3] . $upcE[4] . '0000'; break; case 9: $upc = $upcE[0] . $upcE[1] . $upcE[2] . $upcE[3] . $upcE[4] . '0000'; break; } $upcA = $parity['parity'] . $upc . $parity['checkDigit']; return $upcA; }