+1 voto
por (90 puntos) en PHP

Hola que tal.

Estoy tratando de reemplazar las "x" de un string por numeros aleatorios del 0 al 9 pero mi string contiene varias x y me reemplaza todas las x por el mismo numero. Lo que busco es lograr que me reemplace las x pero que no todas sean iguales.

Este es el codigo que llevo hasta el momento, si me podrian ayudar se los agradeceria.

<?php
$lista = '12345xxxxx';
$num = str_replace("x", rand(0,9), $lista);
echo $num;
?>

1 Respuesta

+1 voto
por (5.4k puntos)

Tienes que utilizar la función preg_replace que solo reemplaza un carácter. Y esto lo tienes que hacer mientras haya x en tu cadena. Para ello te tienes que apoyar en la función strpos()

<?php

$lista = '12345xxxxx';
while (strpos($lista, 'x')) {
 $lista = preg_replace('/x/', rand(0,9), $lista, 1);
}
echo $lista;
?>

Espero que te sirva.

Preguntas relacionadas

0 votos
0 respuestas
preguntado por gusduc (20 puntos) Abr 25, 2020 en PHP
+1 voto
1 respuesta
0 votos
1 respuesta
preguntado por camera (20 puntos) Nov 3, 2016 en PHP
+1 voto
0 respuestas
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...