我正在改进我的代码,我有几个地方需要将字符串转换为整数,但list()函数的限制阻止我使用list()
。具体例子:
$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];
我想做的事情(但是会有致命错误)让事情变得更加整洁:
list((int)$month, (int)$day, (int)$year) = explode("-", $x); // I want echo(gettype) ---> integer for each variable
有没有办法做到这一点,或者我能做到以下几点是最好的?
list($month, $day, $year) = explode("-", $x);
$month = (int)$month;
$day = (int)$day;
$year = (int)$year;
答案 0 :(得分:8)
通过这个参考: -
how to convert array values from string to int?
你可以这样做: -
list($month, $day, $year) = array_map('intval', explode('-', $x));
答案 1 :(得分:1)
如果您需要为数组中的每个元素使用相同的类型,则可以在将数组分配给list(...)
之前将数组传递到array_map
:
$x = '12-31-2010';
list($month, $day, $year) = array_map('intval', explode("-", $x));