Foros del Web » Programando para Internet » PHP »

Duda sobre substr/explode/split

Estas en el tema de Duda sobre substr/explode/split en el foro de PHP en Foros del Web. Wenas amigos, Estoy algo estresado porque resulta que quiero separar en grupos de 4 cifras una serie de numeros de un string: $string = "0001000200030004"; ...
  #1 (permalink)  
Antiguo 15/08/2006, 12:13
 
Fecha de Ingreso: agosto-2006
Mensajes: 22
Antigüedad: 11 años, 4 meses
Puntos: 0
Duda sobre substr/explode/split

Wenas amigos,

Estoy algo estresado porque resulta que quiero separar en grupos de 4 cifras una serie de numeros de un string:

$string = "0001000200030004";

Y yo lo que quiero conseguir es guardar en una variable tipo array los resultados, osea:

$array['0'] = 0001
$array['1'] = 0002
etc...

¿Alguien podria echarme una manita?

Gracias de antemano
  #2 (permalink)  
Antiguo 15/08/2006, 12:50
Avatar de jdelozar  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 32
Antigüedad: 11 años, 3 meses
Puntos: 0
Código PHP:
$cadena "0001000200030004";
$miarr['0'] = substr($cadena04);
$miarr['1'] = substr($cadena44);
$miarr['3'] = substr($cadena84);
$miarr['4'] = substr($cadena124); 
__________________
Un saludo:
Juan
  #3 (permalink)  
Antiguo 15/08/2006, 14:45
Avatar de DarkXNightmare  
Fecha de Ingreso: agosto-2005
Ubicación: Somewhere Over The Rainbo
Mensajes: 181
Antigüedad: 12 años, 3 meses
Puntos: 0
Ahora, si lo que quieres es hacerlo automaticamente, usa esta función:

Código PHP:
function cut_string($string_text$int_quantity)
{
    
$array = array();
    for (
$i 0$i strlen($string_text); $i $i $int_quantity)
    {
        
$array[] = substr($string_text$i$int_quantity);
    }
    return 
$array;
}
print_r(cut_string("0001000200030004"4));
/*
imprime
Array
(
    [0] => 0001
    [1] => 0002
    [2] => 0003
    [3] => 0004
)
*/ 
Espero que te guste... ;D.

Atte... DarkXNightmare ;D.
__________________
Cambiando mi Web... sean pacientes :P
  #4 (permalink)  
Antiguo 15/08/2006, 15:05
 
Fecha de Ingreso: agosto-2006
Mensajes: 22
Antigüedad: 11 años, 4 meses
Puntos: 0
Muchas Gracias Dark, exactamente era eso, al final he conseguio hacerlo de otro modo mas sencillo y automatico tmb.

Haciendo esto:

<?php
$frase= "0001000200030004";
$cort= strlen($frase)/4;

for ($i=0;$i<$cort;$i++){
$corte=str_split($frase,4);
$mostrarcorte.= $corte[$i];
}

echo $mostrarcorte;
?>
  #5 (permalink)  
Antiguo 15/08/2006, 21:35
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 11 años, 3 meses
Puntos: 1
no seria lo mas facil utilizar str_split()

Código PHP:
<?php

$string 
"0001000200030004";

$str str_split($string4);

for(
$i=0;$i<=count($str);$i++){
    echo 
$str[$i]."<br />";
}

?>
?????
  #6 (permalink)  
Antiguo 15/08/2006, 21:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por rumo Ver Mensaje
no seria lo mas facil utilizar str_split()

Código PHP:
<?php

$string 
"0001000200030004";

$str str_split($string4);

for(
$i=0;$i<=count($str);$i++){
    echo 
$str[$i]."<br />";
}

?>
?????
Y ya puestos ..

En lugar del for() ... un foreach()

Código PHP:
<?php 

$string 
"0001000200030004"

$str str_split($string4); 

foreach(
$str as $trozo){ 
    echo 
$trozo."<br />"


?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:40.