欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

分享一个函数,求bug,求改善^

程序员文章站 2022-06-16 13:50:17
...
分享一个函数,求bug,求改进^_^
我们phper经常会用到很多对数字或字符串的处理函数分享一个函数,求bug,求改善^
遗憾的是大部分都不支持数组分享一个函数,求bug,求改善^
灵光一闪,搞定它分享一个函数,求bug,求改善^
觉得有用的大大们捧个场分享一个函数,求bug,求改善^
顺便找些bug并给些改进的建议分享一个函数,求bug,求改善^


/**
* 通过递归调用让函数支持多维数组 by wanderwind
* 建议其他函数调用来实现
* @param string $fn 调用函数名称
* @param array $param 参数数组,通常传入func_get_args()
* @param int $key 需要递归的参数键值
* @param boolean $check 是否需要检测函数合法性
* @return mixed 返回对$param[$key]的运行结果
*/
function fn2array($fn, $param, $key = 0, $check = true) {
//从外部调用时默认检测函数合法性,多维数组递归时忽略
if ($check && !function_exists($fn)) {
return false;
}

//提取执行目标,如果目标非数组可以直接执行
$content = $param[$key];
if (!is_array($content)) {
return call_user_func_array($fn, $param);
}

//如果目标是数组则递归执行
foreach ($content as &$val) {
$param[$key] = $val;
$val = fn2array($fn, $param, $key, false);
}

return $content;
}

function wstripslashes() {
return fn2array('stripslashes', func_get_args());
}

function wsubstr() {
$param = func_get_args();
$param[3] = isset($param[3]) ? $param[3] : 'utf-8';
return fn2array('mb_substr', $param, 0);
}

$a = array(
2 => '\"aaaaaaaaaaaaaaa\"',
array('\"啊啊啊啊啊啊啊啊啊啊啊啊啊\"'),
array(array(array('\"sss\dasf\dasfasdsad\"'))),
);

print_r(wstripslashes($a));
print_r(wsubstr($a, 2, 5));

------解决思路----------------------
進來支持下。分享一个函数,求bug,求改善^
------解决思路----------------------
又想起了那句著名的话:重复造*的人呐
------解决思路----------------------
不是很明白函数的意思,不过还是进来看看
------解决思路----------------------
造*没有什么不好,选好材料和工艺才能事半功倍
分享一个函数,求bug,求改善^

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频