Здравствуйте. Сделал генератор случайных букв и цифр по маске.
Имеется переменная
$promo_mask = 'XXXX-5555-XXXX-5555';
, которая соответственно и является той самой маской.
Сам генератор:
$mask_count = substr_count($promo_mask, 'X');
$chars = '12345ABCDEFGHIJKLMNOPQRSTUVWXYZ67890';
$hashpromo = '';
for($ichars = 1; $ichars <= $mask_count; ++$ichars) {
$random = str_shuffle($chars);
$promo = str_replace('X', $random[$ichars], $promo_mask);
}
echo $promo;
На выходе получаю что-то подобное: DDDD-5555-DDDD-5555, хотя желаемый результат выглядит так: A6JS-5555-0ORP-5555
Одна и та же буква присваивается каждому иксу. Я догадываюсь, что сама конструкция не правильная, но в чем - понять не могу. Заранее спасибо.