Вы находитесь на странице: 1из 3

Convertir int a string in php

A pesar de que php es un lenguaje con un tipado dbil. Esto significa que, para los tipos primitivos de datos,
estos son convertidos automticamente para poder operar con ellos sin que el programador tenga que hacer
nada. Por lo tanto en la mayora de las ocasiones esta operacin de convertir int a string no es realmente
necesaria. Sin embargo es posible que nos encontremos con algunos casos en la que si lo sea. Existen varias
posibilidades para realizar esta operacin:
Type casting
Basta con forzar la conversin empleando el cast (string). Exemplo:
$a = (string)345;
var_dump($a);
Funcion strval:
Directamente convierte una variable (no tiene porque ser un entero) en un string
$a = strval(354);
var_dump($a);

Conversin forzada
Forzar la conversin a cadena (string) empleando alguna operacin que lo requiera
Podemos encontrar diversos ejemplos de esta tcnica
$a = 456.""; //concatenacin de cadenas
$b = 567;
$a = "$b"; //formacin de cadenas

Benchmark
Haciendo un benchmark de todos estos mtodos con una version de php 5.2.5
Este sera el cdigo empleado:
<?php
echo 'PHP version: '.phpversion()."\n\n";
$microtime = microtime(true);
for($i=0;$i<1000000;$i++) $a = (string)567;
echo 'Mtodo cast: '.(microtime(true)-$microtime)." segundos\n";

var_dump($a);

$microtime = microtime(true);
for($i=0;$i<1000000;$i++) $a = strval(343);
echo 'Funcin strval: '.(microtime(true)-$microtime)." segundos\n";

var_dump($a);

$b = 456;
$microtime = microtime(true);
for($i=0;$i<1000000;$i++) $a = $b.""; //concatenacin de cadenas
echo 'Concatenacin de cadenas: '.(microtime(true)-$microtime)." segundos\n";
var_dump($a);
$b = 567;
$microtime = microtime(true);
for($i=0;$i<1000000;$i++) $a = "$b"; //formacin de cadenas
echo 'Formacin de cadenas: '.(microtime(true)-$microtime)." segundos\n";

var_dump($a);
?>
Y estos los resultados obtenidos en mi caso:
PHP version: 5.2.5
Mtodo cast: 6.115082025528 segundos
string(3) "567"
Funcin strval: 6.3874759674072 segundos
string(3) "343"
Concatenacin de cadenas: 6.1379280090332 segundos
string(3) "456"
Formacin de cadenas: 6.1571230888367 segundos
string(3) "567"

El mtodo cast es el ms rpido y la funcin strval la ms lenta quizs debido a que este mtodo tiene ms
funcionalidades. Los otros mtodos parecen ligeramente inferiores en rapidez.
Tenemos otra artculo relacionado con este por si estas interesado en la conversin de int a string en java.
Java es un lenguaje con el tipado ms estricto que php por lo que conocer esta conversin de tipos para este
lenguaje puede serte til tambin.

CONVERTIR STRING A INT


A continuacin unas pequeas recetas de java para pasar de cadena a entero o de entero a cadena.
Para convertir un String (cadena) a int (entero) hay que emplear el mtodo esttico de la clase Integer,
parseInt

Ejemplo:

String enteroString = "5";


int entero = Integer.parseInt(enteroString);
Para convertir int(entero) a String slo debemos hacer una llamada al mtodo esttico de la clase Integer,
toString
Ejemplo:

int entero = 1;
String enteroString = Integer.toString(entero);

Anlogamente para pasar de cadena a double tenemos el mtodo Double.parseDouble


Ejemplo:

double aDouble = Double.parseDouble(aString);


o al revs (double a string) llamamos al mtodo Double.toString
Ejemplo:

double d = 8342342;
System.out.println(Double.toString(d));
Tanto la clase Integer con la clase Double se encuentran en el package java.lang. Atencin int y double son
tipos primitivos del lenguaje java. Integer y Double son clases que representan estos tipos primitivos y le
aaden ms funcionalidades. Como por ejemplo las que acabamos de ver.
Publicado por Abraham Covelo

Ejemplo de cmo convertir una cadena (string) a un entero (integer):


<?php
$str = "10";
$num = (int)$str;
?>

Вам также может понравиться