• php 对齐方法


    太庞大了,效率是个问题,可以砍掉不不需要的

     1     /**
     2      * 通过传入的字符串,每个字段的长度,对齐的方式,返回一个符合的字符串
     3      * @param string $input
     4      * @param int $length
     5      * @param int $mode 
     6      * @param char $replaceChar
     7      * 0 靠左对齐 1靠右对齐 2居中对齐  
     8      * 默认为靠左对齐
     9      * @return string
    10      */
    11     function alignment($input, $length, $mode, $replaceChar)
    12     {
    13         $inputLength = (strlen($input) + mb_strlen($input, 'UTF8')) / 2;
    14         //暂时考虑$length的长度是大于$input的长度的
    15         $len = $length - $inputLength >= 0 ? $length - $inputLength : 0;    
    16        
    17         if ($mode == 2) {
    18             //$leftLen为所有空格的长度除2向下取整 判断$rightLen是否和起相等,不相等最后追加一个空格
    19             $leftLen = floor($len/2);
    20             $rightLen = $len - $leftLen;
    21             $spaceStr = '';
    22             while ($leftLen--) {
    23                 $spaceStr .= $replaceChar;
    24             }
    25             $input = $spaceStr . $input . $spaceStr . ($leftLen == $rightLen ? '' : $replaceChar);
    26         } else {
    27             $spaceStr = '';
    28             while ($len--) {
    29                 $spaceStr .= $replaceChar;
    30             }
    31             if ($mode == 1) {
    32                 $input = $spaceStr . $input;
    33             } else {
    34                 $input = $input . $spaceStr;
    35             }
    36         }
    37         
    38         return $input;
    39     }
    所有文章如需转载请与我联系!邮箱地址shanchao@qq.com 随笔有任何问题都可以在下面评论,我会及时的回复。 如有如何文章侵权问题,我会做删除处理。
  • 相关阅读:
    第六周 8.23-8.29
    Go-ethereum源码解析-Part I
    Go语言
    UVa Live 4725
    UVa 11134
    UVa 11100
    UVa 11627
    UVa Live 4794
    UVa LA 4254
    UVa 10905
  • 原文地址:https://www.cnblogs.com/KuckBoy-shan/p/5615331.html
Copyright © 2020-2023  润新知