Я пытаюсь вывести определенное количество нулей в зависимости от количества цифр. Мой код не выводит то, что я хочу.PHP str_pad и strlen в preg_replace
$x = '12345';
$y = preg_replace('/(\d+)/', str_pad('',(12-strlen("$1")),0), $x);
echo "y = $y";
# expected output: y = 0000000 (7 zeros)
# output: y = 0000000000 (10 zeros)
Вам нужно будет http://php.net/manual/en/function.preg-replace-callback.php для это –