Cómo puedo convertir un String a Int en PHP

Iniciado por blaknez root, 27 Julio 2014, 19:02 PM

0 Miembros y 1 Visitante están viendo este tema.

blaknez root

Saludos. Cómo puedo convertir una cadena de texto
Código (php) [Seleccionar]

$cadena = "5+5+3";
De tal manera que el resultado sea 13? algo muy similar a la función Eval de javascript pero necesito hacerlo en PHP
Código (php) [Seleccionar]
$cadena = 13
De antemano gracias.
:)

maxim_o

prueba con la funcion settype() a ver si funciona. Esta convierte el tipo de la variable al que le hayas indicado. Al convertir un string a un entero, comprueba si el string contiene algun numero, sino existe le pone el valor 0.
Lo que no se, es si realizara la operacion suma.. A lo mejor tambien te puede valer intval().


Ejemplo settype():
settype($cadena,"integer")

ejemplo intval():
$variable=intval($cadena)

MinusFour

#2
Hay un eval también para PHP:

Código (php) [Seleccionar]

<?php
eval("\$val = 2+3+4;");
echo 
$val;
?>


Edit: No recomiendo en lo absoluto que manejes user input en eval. Es un riesgo muy grande.

Si quieres resolver operaciones matemáticas de un usuario sería mejor parsear el string de manera que obtengas los operandos y operadores o usar esto:

http://www.phpclasses.org/package/2055-PHP-Solve-equations-with-multiple-variables.html