我的程序里有一个编号,编号从1-1000不等,现在想生成一个EAN13的编码以9开头,例如,编号是22,则产生的EAN码是9000000000223,最后一位是验证码,格式就是9+自动补够13位的0+编号+验证码  请问用PHP如何编写,例如编号的变量是$bianhao
    谢谢。

解决方案 »

  1.   

    function EAN13($head, $num) {
      $s = $head.str_pad($num, 12 - strlen($head), "0", STR_PAD_LEFT);
      $j = $e = 0;
      for($i=0; $i<12; $i+=2) {
       $j += $s{$i};
       $e += $s{$i+1};
      }
      $n = 10 - (($e * 3 + $j) % 10);
      return $s.$n;
    }echo EAN13(9, 22);
    9000000000223算法来源 http://www.gzxc.cn/products/online/barcode/EAN13.htm
    感觉他个的例子是错的,你自己验证一下