我得到了以下数组:
[
[
'arr1' => 'string',
'arr2' => 5000000,
...//hundreds of other elements which I want to preserve
],
[
'arr1' => 'string2',
'arr2' => 4000000,
...//other elements
]
]
我需要将每个arr2
元素除以10000或将intval
应用于它。我尝试使用array_map
或array_walk
,但它说我需要将数组传递给它,同时我尝试将其传递给某个元素。这些函数也适用于每个元素,而我只需要在子数组中使用1个元素。在我需要保留的子阵列中可能有数百个其他元素。谢谢。
答案 0 :(得分:2)
尝试使用array_walk()http://php.net/manual/fr/function.array-walk.php,如下所示:
array_walk($yourarray, function(&$value) {
if(isset($value['arr2']) && is_string($value['arr2'])){ // or test numeric is_numeric()
$value['arr2'] = intval($value['arr2']); // or divide $value['arr2']/1000
}
});