Reputation: 911
So, can I get this code working:
$typename='integer';
$tmp='12321321312';
$var=($typename)$tmp;
WITHOUT using conditions, like:
if($typename=='integer')
$var=(integer) $tmp;
AND WITHOUT using evals, like:
eval( '$var=(' . $typename . ') $tmp;' );
Upvotes: 1
Views: 160
Reputation: 13640
You can use settype
.
$typename = 'integer';
$tmp = '12321321312'; // $tmp will be passed as a reference
settype($tmp, $typename);
// $tmp is now an integer
Possibles values of type are:
Upvotes: 2
Reputation: 76666
Yes, it is possible using anonymous functions (available on PHP versions => 5.3.0).
$typename = 'intval';
$tmp = '2323';
$var = $typename($tmp); // <= note the syntax difference
var_dump($var);
Output:
int(2323)
Upvotes: 1