将数组中的键值由字符串转为数字

  昨天开发时遇到一个问题,因为前端图形highcharts的数据需要int或者float类型,但是后端传输的是字符串string类型,因此前端图形展示报错。现在需要将展示数据转为数字,但是涉及到的点特别多。如果是单一一处,只需要用一个foreach循环,把键值使用floatval或者intval转一下就行,但是此次共需要修改后端11处,如果每一处都去foreach循环,代码比较冗余。后来学习了array_walk函数,函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。

  使用此函数后,只需要写一个公用function方法,其它地方使用函数回调方法就行:

array_walk($arr, function stringToFloat(&$arrayVal) {
    $arrayVal = floatval($arrayVal);
});

  返回的$arr数组的键值就已经是数字了。function方法可以单独写一个,可以更加美观。

)

猜你喜欢

转载自www.cnblogs.com/xingyuecanxue/p/12758652.html