<?php
function generateEANdigit($code)
{
$weightflag = true;
$sum = 0;
for ($i = strlen($code) - 1; $i >= 0; $i--) { $sum += (int)$code[$i] * ($weightflag?3:1);
$weightflag = !$weightflag;
}
return (10 - ($sum % 10)) % 10;
}
echo generateEANdigit('789100031550');
PD9waHAKCmZ1bmN0aW9uIGdlbmVyYXRlRUFOZGlnaXQoJGNvZGUpCnsKICAkd2VpZ2h0ZmxhZyA9IHRydWU7CiAgJHN1bSA9IDA7CiAgZm9yICgkaSA9IHN0cmxlbigkY29kZSkgLSAxOyAkaSA+PSAwOyAkaS0tKSB7CiAgICAkc3VtICs9IChpbnQpJGNvZGVbJGldICogKCR3ZWlnaHRmbGFnPzM6MSk7CiAgICAkd2VpZ2h0ZmxhZyA9ICEkd2VpZ2h0ZmxhZzsKICB9CiAgcmV0dXJuICgxMCAtICgkc3VtICUgMTApKSAlIDEwOwp9CgplY2hvIGdlbmVyYXRlRUFOZGlnaXQoJzc4OTEwMDAzMTU1MCcpOw==