The One and Only ChemistryBlob The One and Only ChemistryBlob - 11 months ago 53
PHP Question

PHP - Cast a string to int in list() arguments?

I am refining my code and I have a couple of spots where I need to cast strings as integer but the limitations of the list() function are dissuading me from using

. Specific example:

$x = '12-31-2010';

$explode = explode("-", $x);

// Need to do the following because e.g. echo gettype($explode[0]) ---> string

$month = (int)$explode[0];
$day = (int)$explode[1];
$year = (int)$explode[2];

What I would like to do (but get a fatal error) to make things a little more tidy:

list((int)$month, (int)$day, (int)$year) = explode("-", $x); // I want echo(gettype) ---> integer for each variable

Is there any way to do this or is the best I can do the following?

list($month, $day, $year) = explode("-", $x);

$month = (int)$month;
$day = (int)$day;
$year = (int)$year;


By this reference:-

how to convert array values from string to int?

you can do it like below:-

list($month, $day, $year) = array_map('intval', explode('-', $x));