3v4l.org

run code in 300+ PHP versions simultaneously
<?php function ean_checksum($eancode) { if(strlen($eancode) != 12) { return '-1'; } $oddsum=0; $evensum=0; $total=0; $eanvalue=$eancode; $finalean = strrev(substr($eanvalue,0,12)); for($i=0;$i<strlen($finalean);$i++) { if(($i % 2) == 0) { $oddsum += intval($finalean[$i]); } else { $evensum += intval($finalean[$i]); } } $total=($oddsum * 3) + $evensum; $check = intval(10 - ceil($total % 10.0)) %10; return $check; } $ean = '037007923000'; echo ean_checksum($ean);

preferences:
35.47 ms | 402 KiB | 5 Q