我有以下数组,我想将每个[Entry]值从字符串更改为整数:
数组([0] =>数组([时间] => 06:08:00 [输入] => 250)[1] =>数组([时间] => 08:08: 00 [输入] => 230)
我正在尝试这种方式,这似乎改变了循环中的类型,但改变似乎没有在循环外生效。我对此很陌生,所以我可能会忽视某些事情,而且很可能是一种更简单的方法。
foreach($data as $inner) {
foreach($inner as $key=>$val) {
if($key == 'Entry') {
$newval = intval($val);
$val = $newval;
echo(gettype($val));//integer
}
}
}
echo(gettype($data[0]['Entry'])); //string
答案 0 :(得分:1)
您没有更改数组中元素的值。
foreach($data as &$inner) {
$inner['Entry'] = intval($inner['Entry']);
}
要修改循环中的数组元素,您必须在$inner
之前加上&amp ;.即该值将通过引用分配。
有关详细信息,请参阅foreach
答案 1 :(得分:0)
您需要将其重新投射到实际数组中。
foreach($data as $dkey => $inner) {
foreach($inner as $ikey => $val) {
if ($ikey == 'Entry') {
$data[$dkey][$ikey] = intval($val);
}
}
}