我有一个这样的数组:
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
答案 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);