bidimensional数组的字符串值为int值

时间:2016-06-24 23:10:02

标签: php

我有一个像这样的二维数组(所有值都是字符串)

Array ( 
[0]=>Array([ENE] => 22 [FEB] => 24)
[1]=>Array( [MAR] => 16 [ABR] => 33 )
[2]=>Array([MAY] => 18 [JUN] => 19)
)

但我需要将字符串值变为整数。

我发现以下答案仅适用于简单数组。

如果你有像这样的数组:

$runners = ["1","2","3","4"];

如果你想将它们转换为整数并保持在数组中,以下应该完成这项工作:

$newArray = array_map( create_function('$value', 'return (int)$value;'),
            $runners);

您是否知道如何使用二维数组进行相同操作?

2 个答案:

答案 0 :(得分:0)

你必须循环数组并将每个值转换为in,就像这样

for($i=0;$i<count($array);$i++){
    $elements = $array[$i];
    $values = array_map(function($arrayElement) { return (int)$arrayElement; },$elements);
    $array[$i] = $values;
}

答案 1 :(得分:0)

$runners = array(
    array('ENE' => "22", 'FEB' => "24"),
    array('MAR' => "16", 'ABR' => "33"),
    array('MAY' => "18", 'JUN' => "19")
);

$func = function($subarray){
    $tempArray = array();
    foreach($subarray as $key => $val)
    {
        $tempArray[$key] = (int)$val;
    }
    return $tempArray;
}

$new_array = array_map($func, $runners);

这应该可以正常工作。