2016-10-03 21 views
-1

我有一些字符串值的数组字符串的PHP数组转换成int

array(4) { 
[0]=> array(2) { ["x"]=> string(13) "1475269218000" ["y"]=> string(1) "1" } 
[1]=> array(2) { ["x"]=> string(13) "1475269222000" ["y"]=> string(1) "1" } 
[2]=> array(2) { ["x"]=> string(13) "1475269231000" ["y"]=> string(1) "1" } 
[3]=> array(2) { ["x"]=> string(13) "1475269241000" ["y"]=> string(1) "1" } 
} 

我需要只值作为整数的输出。所以这将是输出。

[ 
[1475269218000,1], 
[1475269222000,1], 
[1475269231000,1] 
[1475269241000,1] 
] 
+1

您应该能够循环阵列通使用foreach()并重建输出。将值转换为(int)。 – jjwdesign

+1

你可以使用array_values()函数 –

+2

我希望64位系统? – AbraCadaver

回答

1

选项1:

$ar = [ 
    ['x' => '1475269218000', 'y' => '1'], 
    ['x' => '1475269222000', 'y' => '1'], 
    ['x' => '1475269231000', 'y' => '1'], 
    ['x' => '1475269241000', 'y' => '1'] 
]; 

foreach($ar AS $key1 => $sub_ars) { 
    foreach($sub_ars AS $key2 => $val) { 
     $ar[$key1][$key2] = intval($val); 
    } 
} 
var_dump($ar); 

选项2:

$ar = [ 
    ['x' => '1475269218000', 'y' => '1'], 
    ['x' => '1475269222000', 'y' => '1'], 
    ['x' => '1475269231000', 'y' => '1'], 
    ['x' => '1475269241000', 'y' => '1'] 
]; 

function intvalRecursive($val) 
{ 
    if(is_array($val)) { 
     return array_map('intvalRecursive', $val); 
    } 
    return intval($val); 
} 

$ar = array_map('intvalRecursive', $ar); 
var_dump($ar); 

选项3(剥离键):

$ar = [ 
    ['x' => '1475269218000', 'y' => '1'], 
    ['x' => '1475269222000', 'y' => '1'], 
    ['x' => '1475269231000', 'y' => '1'], 
    ['x' => '1475269241000', 'y' => '1'] 
]; 

foreach($ar AS $key => $val) { 
    $ar[$key] = array_values(array_map('intval', $val)); 
} 
var_dump($ar); 
+0

感谢您的回答,它工作得很好。 。 –

+0

或许不是,这没有给我唯一的值,但按键藏汉:-( –

+0

@RasmusBidstrup增加了一个选项剥离键 –