聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

php code snippit

2015-10-29 13:25 浏览: 1242198 次 我要评论(0 条) 字号:

转置二维数组:

function transpose($array) {
    array_unshift($array, null);
    return call_user_func_array('array_map', $array);
}


utf-8字符串转为utf-8字符数组:
function utf8_str2arr($str)
{
    preg_match_all("/./u", $str, $arr);
    return $arr[0];
}


按显示宽度截取utf-8字符串
function substr_width($str, $start, $width)
{
    $arr = utf8_str2arr($str);
    $arr_ret = [];
    $i = 0;
    while ($width > 0 and $i < count($arr))
    {
        $arr_ret[] = $arr[$start + $i];
        if (strlen($arr_ret[$i]) == 1) //ascii,width=1
            $width -= 1;
        else
            $width -= 2;
        $i++;
    }
    if ($width < 0)
        array_pop($arr_ret);
    return join('', $arr_ret);
}


网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复