数组字符串值为int

时间:2017-09-01 14:35:03

标签: php arrays

我有一个这样的数组:

array (size=3)
  'money' => string '16' (length=2)
  'str' => string '45' (length=2)
  'intl' => string '0' (length=1)

我想将字符串值转换为int,如下所示:

array (size=3)
  'money' => int 16
  'str' => int 45
  'intl' => int 0

我尝试使用foreach方法:

$newuserattri=[];
foreach ($userattri as $key => $var) {
    $userattri[$key] = (int)$var;
    $newuserattri[]=$userattri[$key];
}
var_dump($newuserattri);

但是这个dident工作,因为现在我没有数组值名称

array (size=3)
  0 => int 16
  1 => int 45
  2 => int 0

2 个答案:

答案 0 :(得分:3)

你真的很亲密!您必须使用原始密钥将它们添加到数组中,如下所示:

$newuserattri = [];
foreach ($userattri as $key => $value) {
    $newuserattri[$key] = (int)$value;
}
var_dump($newuserattri);

答案 1 :(得分:0)

替换

 $userattri[$key] = (int)$var;

使用

$newuserattri[$key] = intval($var);