程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

array_walk_recursive-修改键和值

发布于2021-04-13 10:55     阅读(288)     评论(0)     点赞(22)     收藏(4)


如何使用array_walk_recursive??修改键和值

这里只有值被编码

function _utf8_encode($arr){
    array_walk_recursive($arr, 'utf8_enc');

    return $arr;
}

function utf8_enc(&$value, &$key){
    $value = utf8_encode($value);
    $key = utf8_encode($key);
}

解决方案


array_walk_recursive确实仅将用户函数应用于数组的VALUES,而不应用于索引(我认为与数组的索引必须唯一,因此您无法操纵它们有关)。最好的办法是为自己编写一个递归函数。以下应该工作:

function utf8enc($array) {
    if (!is_array($array)) return;
    $helper = array();
    foreach ($array as $key => $value) $helper[utf8_encode($key)] = is_array($value) ? utf8enc($value) : utf8_encode($value);
    return $helper;
}

$enc_array = utf8enc($your_array);


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/38153/461dded956a6260a0cd6/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

22 0
收藏该文
已收藏

评论内容:(最多支持255个字符)