加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – array_walk_recursive – 修改键和值

发布时间:2020-12-13 18:06:33 所属栏目:PHP教程 来源:网络整理
导读:如何使用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_wal
如何使用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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读