Manejo de string

  • Autor Autor Daniel Muñoz
  • Fecha de inicio Fecha de inicio
Daniel Muñoz

Daniel Muñoz

1
Pi
Programador
Verificado
Verificación en dos pasos activada
Verificado por Binance
Suscripción a IA
Hola betas, estuve viendo como dividir una string según su numero de caracteres. Ya puedo dividirla a gusto con este codigo que encontré,

PHP:
$texto = "A1B2C3D4E5D4R4E5D4D5A2E3";
$cantidad_x_grupo=6;
$lista = str_split($texto,$cantidad_x_grupo);
for($i=0;$i<count($lista);$i++) { 
 echo $lista[$i]. ' ';
}

El resultado seria

Insertar CODE, HTML o PHP:
A1B2C3 D4E5D4 R4E5D4 D5A2E3

La pregunta es, como puedo asignar cada segmento a una variable distinta?
 
Ya vi que no funciona eso :/
 
Última edición:
El que te dijo que no funciona te mintió, funciona perfectamente.
Y contestando a tu pregunta:

PHP:
$texto = "A1B2C3D4E5D4R4E5D4D5A2E3";
$cantidad_x_grupo=6;
$lista = str_split($texto,$cantidad_x_grupo);
for($i=0;$i<count($lista);$i++) { 
 $variable[$i] = $lista[$i]. ' '; // Convertimos la variable independiente a variable dependiente
} 
echo $variable[2]; // Se muestra solo el segundo resultado
 
joder yo estoy aprendiendo eso >.<
que dificil es la vida de un programador
numeros por aqui numeros por alla formulas etc...
a ver si avanzo =(
 
Todo con tranquilidad calma y perseverancia.

Correcto,
A lo que yo respondí con nunca aprenderás fue por la actitud pesimista de decir "a ver si avanzo" pero bueno ya nos desviamos del tema, [MENTION=62186]Daniel Muñoz[/MENTION] me dices si te funciono lo que te pase.

Un saludo
 
Funciona bien :topsy_turvy:
 
El que te dijo que no funciona te mintió, funciona perfectamente.
Y contestando a tu pregunta:

PHP:
$texto = "A1B2C3D4E5D4R4E5D4D5A2E3";
$cantidad_x_grupo=6;
$lista = str_split($texto,$cantidad_x_grupo);
for($i=0;$i<count($lista);$i++) { 
 $variable[$i] = $lista[$i]. ' '; // Convertimos la variable independiente a variable dependiente
} 
echo $variable[2]; // Se muestra solo el segundo resultado

Dejame ver si entendi, me hace un ciclo FOR de la variable y según las divisiones las imprimo no?
 
¿A qué te referís con "asignar cada segmento a una variable distinta"?

PHP:
<?php
	$texto = "A1B2C3D4E5D4R4E5D4D5A2E3";
	$cantidad_x_grupo=6;
	$lista = str_split($texto,$cantidad_x_grupo);
	echo $lista[0] . ' ' . $lista[1] . ' ' . $lista[2] . ' ' . $lista[3]; // lo puedes usar así.
	echo '<br/>';
	foreach($lista as $item) {
		echo $item . ' '; // o así.
	}
?>
 
Última edición:
Si

Enviado desde mi XT1053 mediante Tapatalk

Es posible, contar una cadena y separarla al llegar al llegar a equis numero mediante un explode?

El pseudocodigo seria
Insertar CODE, HTML o PHP:
Si la candena es mayor que N (entienda N como numero) 
Se divide y se le hace explode 
Sino la cadena se queda igual
 
Es posible, contar una cadena y separarla al llegar al llegar a equis numero mediante un explode?

El pseudocodigo seria
Insertar CODE, HTML o PHP:
Si la candena es mayor que N (entienda N como numero) 
Se divide y se le hace explode 
Sino la cadena se queda igual

Si, si es posible :encouragement:
O bueno no se si te entendi bien, quieres que en vez de usar for solo usar explode ? si es asi si se puede sin embargo antes tienes que usar algo para diferenciar los caracteres ya que explode se usa para tomar X datos de parametros predeterminados ejemplo:

PHP:
 $texto = "A1B2C3D4E5D : 4R4E5D4D5A2E3"; 
 $variable =  explode(' : ',$texto); 
echo $variable[1]; // Resultado: 4R4E5D4D5A2E3
 

Si lo se, quiero que si es verdadero que es mayor de 60 caracteres realice el explode, de lo contrario me muestre la cadena original eliminado el " : "
 
Eso lo podrías hacer así:

PHP:
<?php
	$texto = "A1B:2";
	ra($texto, 5);
	echo $texto;

	echo '<br/>';

	$texto2 = "A1B:2CH";
	ra($texto2, 5);
	var_dump($texto2);


	function ra(&$string, $len, $search = ':', $replace = '') {
		if(strlen($string) > $len) {
			$string = explode($search, $string);
		} else {
			$string = str_replace($search, $replace, $string);
		}
	}
	// ouput:
		// A1B2
		// array(2) { [0]=> string(3) "A1B" [1]=> string(3) "2CH" }
?>
 
Atrás
Arriba