php array_map到每个' arr'关联数组中的元素

时间:2016-10-31 09:39:29

标签: php arrays

我得到了以下数组:

[
 [
  'arr1' => 'string',
  'arr2' => 5000000,
  ...//hundreds of other elements which I want to preserve
 ],
 [
  'arr1' => 'string2',
  'arr2' => 4000000,
  ...//other elements
 ]
]

我需要将每个arr2元素除以10000或将intval应用于它。我尝试使用array_maparray_walk,但它说我需要将数组传递给它,同时我尝试将其传递给某个元素。这些函数也适用于每个元素,而我只需要在子数组中使用1个元素。在我需要保留的子阵列中可能有数百个其他元素。谢谢。

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