对于验证码,下面的代码生成一个 5 位数字。我希望它是 4 位数字。我该怎么做。
// generate random numbers $sayilar = ''; for ($x = 15; $x <= 95; $x += 20) { $sayilar .= ($sayi = rand(0, 9)); imagechar($image, rand(3, 5), $x, rand(2, 14), $sayi, $textcolor); }
P粉3176793422024-02-26 13:15:39
您的循环定义很复杂,因为您在其中加载了很多不必要的逻辑。修改/维护会更清晰、更容易:
$sayilar = ''; $lpad = 15; $offset = 20; for ($x = 0; $x < 4; ++$x) { $sayilar .= ($sayi = rand(0, 9)); $xpos = $x * $offset + $lpad; imagechar($image, rand(3, 5), $xpos, rand(2, 14), $sayi, $textcolor); }