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     }

 

转载于:https://www.cnblogs.com/KuckBoy-shan/p/5615331.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值