【发布时间】:2018-10-05 17:14:19
【问题描述】:
我尝试使用intval 将数字数组转换为以 16 为底的数组,并且我想学习如何将第二个参数传递给间隔,默认情况下 intval 使用以 10 为底的。
array_map('intval', [1, 2, "12", "15" , "99"]);
在我在谷歌搜索并阅读php.net文档但无法解决此问题之前。
【问题讨论】:
标签: php callback callable array-map
我尝试使用intval 将数字数组转换为以 16 为底的数组,并且我想学习如何将第二个参数传递给间隔,默认情况下 intval 使用以 10 为底的。
array_map('intval', [1, 2, "12", "15" , "99"]);
在我在谷歌搜索并阅读php.net文档但无法解决此问题之前。
【问题讨论】:
标签: php callback callable array-map
您可以定义自己的匿名函数:
array_map(function ($value) { return intval($value, 16); }, [1, 2, "12", "15", "99"]);
【讨论】:
use 发送更多参数的问题 $base = 16; array_map(function($value) use ($base) { return intval($value, $base); }, [1, 2, "12", "15", "99"])
intval 更改为 base_convert 即可。
intval返回一个以10为底的数字。
base_convert 听起来是对的,但从他的开篇文章来看,他只是想要一种将第二个参数传递给intval 的方法,因此得到了这个答案。