Foros del Web » Programando para Internet » PHP »

Convertir entero a string

Estas en el tema de Convertir entero a string en el foro de PHP en Foros del Web. Tengo un pequeño problema, tengo un campo en una base de datos que es de tipo var y quiero meter una cadena que es de ...
  #1 (permalink)  
Antiguo 28/04/2012, 12:06
 
Fecha de Ingreso: mayo-2010
Mensajes: 103
Antigüedad: 13 años, 11 meses
Puntos: 4
Convertir entero a string

Tengo un pequeño problema, tengo un campo en una base de datos que es de tipo var y quiero meter una cadena que es de tipo 0000, es decir son números, la clase que utilizo para insertar hace una comprobación de si el dato es numérico o string para ponerle comillas simples si es string con la función is_numeric(), bien pues no soy capaz de hacer que ese número se escriba como una cadena. He intentado con (string) antes de la variable que lo contiene, con settype(), tratando de ponerlo entre comillas y nada, siempre es numérico. ¿Hay alguna forma de decirle a la función is_numeric() que 0000 es una cadena?

Gracias
__________________
salud
ainvar de los carnutos
  #2 (permalink)  
Antiguo 28/04/2012, 12:46
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Convertir entero a string

Por la fomra en que trabaja is_numeric, no no hay forma.

Sin embargo, si usas mysql, no necesitarías molestarte en decidir si el campo es numérico o no, ya que en ambos casos puedes colocarle las comillas al valor y no habrá problema, mysql hará la conversión que haga falta.

De otra manera, podrías hacer un comprobación simple, si el valor tiene un cero a la izquierda, tratarlo como cadena:

Código PHP:
Ver original
  1. if(substr($val,0,1)=='0')
  2.     $val= "'$val'";
  #3 (permalink)  
Antiguo 29/04/2012, 04:03
 
Fecha de Ingreso: mayo-2010
Mensajes: 103
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: Convertir entero a string

El problema que tengo es que no siempre es un cero, de todos modos gracias por la info, trabajaré con esto a ver que hago.
__________________
salud
ainvar de los carnutos
  #4 (permalink)  
Antiguo 29/04/2012, 09:35
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Convertir entero a string

El asunto es que is_numeric no comprueba el tipo de la variable mas bien comprueba el contenido o sea
is_numeric te devolvera TRUE tanto para

Código PHP:
Ver original
  1. $var = "13344"; // return true
  2. $var = 13344;  // return true

En ambos casos la variable contiene números.

para lo que deseas hacer puedes crear una funcion que la convierta en el valor que esperas.

Código PHP:
Ver original
  1. $var = 3455;
  2. $var = "\"".$var."\"";
  3. echo "INSERT INTO tabla(campo)VALUES($var)";


Saludos.
  #5 (permalink)  
Antiguo 29/04/2012, 13:50
 
Fecha de Ingreso: mayo-2010
Mensajes: 103
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: Convertir entero a string

Gracias gjx2, el tema es que estoy modificando un script que ya estaba hecho, y yo para insertar utilizo una clas que antes de pasar los datos al insert comprueba con is_numeric() si es un entero o una cadena para añadirle comillas o no, si lo añado como dices toma la cadena con las comillas incluidas y le añade otras comillas, con lo que el valor final no es correcto.

De todos modos lo que he hecho es modificar la tabla de la BD para que sea como tiene que ser, pues el campo en cuestión es una hora que se guardaba en un campo de texto, he cambiado este campo a un tipo time y modificado el script para que funcione con ese campo time en vez de var como estaba antes, que además creo que es más correcto.

Gracias a todos
__________________
salud
ainvar de los carnutos

Etiquetas: conversion, integer, string
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 20:32.