Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

139
Vistas
La salida de cadena dividida de PHP se inserta aleatoriamente en la matriz

Estoy tratando de encontrar la mejor manera de dividir una cadena al azar.

Ejemplo :

 $variable1 = "this_is_the_string_contents";

El resultado que estoy tratando de lograr es este.

 "is" "this" "ents" "cont" "_" etc etc

Cuál es la mejor manera de hacer esto. No tengo idea de qué función(es) PHP sería(n) más adecuada(s) para la tarea que he estado buscando, una combinación de, foreach(), rand(), etc.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Esto dividirá una cadena en una matriz de subcadenas de longitud aleatoria.

 $l = strlen($variable1); $i = 0; // holds the current string position while ($i < $l) { $r = rand(1, $l - $i); // get a random length for the next substring $chunks[] = substr($variable1, $i, $r); // add the substring to the array $i += $r; // increment $i by the substring length }

Esto será totalmente aleatorio, por lo que podría terminar con una matriz como

 ["this_is_the_string_content","s"]

en lugar del ejemplo distribuido más uniformemente que mostraste. Si desea evitar eso, puede "desaleatorizar" un poco la parte de longitud aleatoria.

 if ($l - $i > $i) { $r = rand(1, ($l - $i) / 2); } else { $r = rand(1, $l - $i); }

Eso evitará que las subcadenas consuman más de la mitad de la cadena, hasta que desaparezca la mitad de la cadena.


Después de tener la matriz de subcadenas, también puede aleatorizarla con

 shuffle($chunks);
over 4 years ago · Santiago Trujillo Denunciar

0

$str = "this_is_the_string_contents"; $stringPiece = str_split($str, 4); //put in whatever number here for chunk size print_r($stringPiece);

Puede usar rand() para generar un número aleatorio para el tamaño de fragmento si lo desea. Dependiendo de lo que intente hacer, podría valer la pena considerar eliminar espacios/guiones bajos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda