Foros del Web » Programando para Internet » PHP »

Explode sin delimitadores?

Estas en el tema de Explode sin delimitadores? en el foro de PHP en Foros del Web. Que tal! Tengo una consulta sobre Explode. Yo ya antes habia usado explode y pues se que debe de aparecer un delimitador para que funcione, ...
  #1 (permalink)  
Antiguo 01/04/2007, 12:36
Avatar de Chikis
Usuario no validado
 
Fecha de Ingreso: agosto-2001
Ubicación: Cuernavaca, Morelos, Mexico
Mensajes: 170
Antigüedad: 23 años, 2 meses
Puntos: 0
Explode sin delimitadores?

Que tal!

Tengo una consulta sobre Explode.

Yo ya antes habia usado explode y pues se que debe de aparecer un delimitador para que funcione, pero que pasa con lo siguiente.

Tengo fechas que se componen de

año y dia

añodia

199017
200216
198521

Hay alguna funcion que me ayude a separarlos?

no importa si es separar numero por numero ya los juntaria yo, o separar los primeros cuatro y luego los otros dos.

Trate con Explode y Con implode pero no me sale, trate de hacer que separara por numero pero en los casos donde es 2002 2003 me quita los ceros y no quiero eso.

Espero que me puedan ayudar.

Saludos!.
  #2 (permalink)  
Antiguo 01/04/2007, 12:44
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Re: Explode sin delimitadores?

Hola Chikis

Con este código, traducido de un JavaScript de derkenuke, te separa los números con guiones, para que puedas usar explode

Código:
$num = '199017';
$num = preg_replace('/^(\d{2})(\d{2})(\d{2})$/','$1-$2-$3',$num);
echo $num;
Saludos,
  #3 (permalink)  
Antiguo 01/04/2007, 14:09
 
Fecha de Ingreso: septiembre-2004
Mensajes: 66
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Explode sin delimitadores?

otra solución
<?php

$fecha= 200216;
$anio = substr($fecha, 0, 4);
$dia = substr($fecha, 4, 6);

echo "año = $anio <br>";
echo "dia = $dia <br>";
?>


Veamos que dice el manual

substr

(PHP 3, PHP 4, PHP 5)
substr -- Devuelve parte de una cadena
Descripción
string substr ( string cadena, int comienzo [, int longitud] )

substr() devuelve la porción de cadena especificada por los parámetros comienzo y longitud.

Si comienzo es positivo o 0, la cadena devuelta comenzará en dicho carácter de cadena (los caracteres empiezan a contarse en cero). Por ejemplo, en la cadena 'abcdef', el carácter en la posición 0 es 'a', el carácter en la posición 2 es 'c', y así sucesivamente.

Ejemplo 1. Ejemplo básico de substr()
<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f

// El acceso a los caracteres dentro de una cadena se puede
// realizar directamente mediante las llaves
$string = 'abcdef';
echo $string{0}; // a
echo $string{3}; // d
echo $string{strlen($string)-1}; // f

?>
  #4 (permalink)  
Antiguo 01/04/2007, 18:39
Avatar de Chikis
Usuario no validado
 
Fecha de Ingreso: agosto-2001
Ubicación: Cuernavaca, Morelos, Mexico
Mensajes: 170
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Explode sin delimitadores?

Muchas gracias!! a ambos por responderme.

Lo deje asi:

Código PHP:
$fechaalta  $desde;
$desde preg_replace('/^(\d{4})(\d{2})$/','$1-$2',$desde);
$separafecha explode("-"$desde);
$anio $fechaalta[0] . $fechaalta[1] .  $fechaalta[2] . $fechaalta[3];
$quincena $fechaalta[4] . $fechaalta[5]; 
Saludos y de nuevo gracias!!

Última edición por Chikis; 01/04/2007 a las 18:42 Razón: me falto una variable y la ñ sale mal =)
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 14:42.