如何将数组值从字符串更改为整数

时间:2013-09-19 22:22:19

标签: php arrays string types

我有以下数组,我想将每个[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

2 个答案:

答案 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);
        }
    }
}