`

生成固定长度的某字符的字符串 PHP

阅读更多

在编程时,有时候会需要生成固定长度的空格或者特殊字符,以用于数据对齐等。

今天讨论用php生成固定长度的某字符的字符串的一些方法。

 

方法一:二倍迭代拼接

 

function getchars($c,$length){
        $binchars = decbin($length);
        $binchars_arr = str_split($binchars);
        $ret="";
        $char=$c;
        for($i=strlen($binchars)-1;$i>=0;$i--){
                $binchars_arr[$i]=="1" && $ret=$ret.$char;
                $char=$char.$char;
        }
        return $ret;
}

 受到方法一的启发,每次拼接三倍长度的字符,得到方法而。

 

方法二:三倍迭代拼接

 

function getchars_t($c,$length){
        $binchars = base_convert($length,10,3);
        $binchars_arr = str_split($binchars);
        $ret="";
        $char=$c;
        for($i=strlen($binchars)-1;$i>=0;$i--){
                $binchars_arr[$i]=="1" && $ret=$ret.$char;
                $binchars_arr[$i]=="2" && $ret=$ret.$char.$char;
                $char=$char.$char.$char;
        }
        return $ret;
}

 

方法三:php函数str_repeat

 

function getchars_p($c,$length){
        return str_repeat($c,$length);
}

 

方法四:php函数,间接运算

 

function getcharscmp($c,$length){
        $char="`123~!@#";
        return substr(str_pad($char,strlen($char)+$length,$c),strlen($char));
}

 

方法五:php函数,字符串格式化

 

function getchars_s($c,$length){
        $a = sprintf("%".$length."s"," ");
        $a = str_replace(" ",$c,$a);
        return $a;
}

 

 

然后,对上述五种方法进行效能测试,执行15000000次生成4个空格字符串的时间如下,单位为“秒”:

                      getchars  :  6.7469990253448
                    getchars_t  :  7.7568290233612
                    getchars_p  :  1.4614100456238
                   getcharscmp  :  3.2170360088348
                    getchars_s  :  4.1925320625305

1
0
分享到:
评论

相关推荐

    MySQL中随机生成固定长度字符串的方法

    本文将详细讲解如何在MySQL中定义并使用一个函数来生成固定长度的随机字符串。 首先,我们创建一个名为`rand_string`的自定义函数。这个函数接受一个整数参数`n`,表示需要生成的字符串长度。函数内部定义了一个...

    php 随机生成10位字符代码

    掌握这些知识点后,我们可以实现一个通用的随机字符串生成器,只需调整`$len`的值,即可自定义生成任意长度的随机字符串。此外,为了安全和多样性,根据实际应用场景还可以考虑在字符集中加入特殊字符,进一步增强...

    PHP生成随机字符串

    PHP生成(产生)随机字符串,可用来自动生成密码,默认长度6位,字母和数字混合等模式,支持随机生成中文字(汉字)。

    PHP生成自定义长度随机字符串的函数分享

    在本文中,我们将介绍一个PHP函数,该函数能够生成指定长度的随机字符串。 首先,我们来理解函数的基本结构。该函数名为random,接收一个参数$length,这个参数指定了要生成的字符串的长度。函数首先使用`srand...

    PHP截取字符串,生成文章摘要

    在PHP中,截取字符串并生成文章摘要是常见的任务,特别是在构建内容管理系统或者博客平台时。这个过程涉及到字符串处理和文本分析技术。下面我们将详细探讨如何使用PHP来实现这一功能。 首先,PHP提供了多种内置...

    php的字符串类.zip

    而这个字符串类可能提供了一个便捷的静态方法,允许开发者指定字符串长度和字符集,一键生成所需的随机字符串。 其次,单次截取字符串是另一个常见的需求。PHP中的`substr()`函数就是用来实现这一功能的,但自定义...

    php字符串函数分类

    **功能描述:** 计算字符串中某子串出现的次数。 **示例代码:** ```php $haystack = "hello world, hello again"; $needle = "hello"; echo substr_count($haystack, $needle); // 输出 2 ``` ##### `mb_strlen` ...

    PHP 简单生成随机字符串

    `str_shuffle`函数可以随机打乱一个字符串的字符顺序,然后通过`substr`截取指定长度的部分,得到随机字符串。 ```php function generateRandomString($length) { $chars = '...

    hashids.php-master整数生成唯一字符串的加密库.zip

    <?php namespace Hashids; class Hashids implements HashidsInterface {  const SEP_DIV = 3.5;  const GUARD_DIV = 12;...本库是让整数生成唯一字符串的加密库,可以隐藏用户ID等多种用途。

    php不破坏单词截取子字符串类.zip

    3. 边界处理:类库可能还包含了处理边界情况的逻辑,例如当字符串长度小于截取长度时,如何返回原始字符串,或者当字符串长度远大于截取长度时,如何处理过多的字符。 4. 国际化支持:考虑到可能处理多种语言的字符...

    PHP多个字符串排列组合的算法,组二,组三

    需要注意的是,随着字符串长度和组合长度的增加,生成的组合数量会迅速增长,可能导致性能问题。在这种情况下,可以考虑优化算法或使用更高效的数据结构,如位向量,来减少计算时间和内存消耗。 总结,本文详细介绍...

    [示例][PHP]整数生成唯一字符串的加密PHP库.zip

    例如,可以使用`base_convert`将整数转换为字符串,然后通过SHA256或MD5等哈希函数得到一个固定长度且不可逆的唯一字符串。这种方式既保留了整数的唯一性,又增加了额外的安全性。 在描述中提到的加密类,可能包含...

    [示例][PHP]RandomLib-master生成随机数和随机字符串的PHP库.zip

    通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。RandomLib-master生成随机数和随机字符串的...

    php指定长度分割字符串str_split函数用法示例

    由于原始字符串长度为8,所以最后会生成3个长度为3的子字符串: ```php array(3) { [0] => string(3) "abc" [1] => string(3) "def" [2] => string(2) "gh" } ``` ### 更高级的使用场景 除了基本的字符串拆分...

    RandomLib-master生成随机数和随机字符串的PHP库.zip

    通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。RandomLib-master生成随机数和随机字符串的...

    php生成随机数/生成随机字符串的方法小结【5种方法】

    在示例中,`GetRandStr` 函数使用 `mt_rand()` 生成0到字符串长度减1之间的随机数,作为索引获取字符串 `$str` 中的字符,从而生成随机字符串。 ```php function GetRandStr($length) { $str = '...

    php简单生成一组与多组随机字符串的方法

    除了手动编写代码,还有在线工具可以帮助生成随机字符串,比如文中提到的“在线随机数字/字符串生成工具”和“高强度密码生成器”,这些工具通常提供了丰富的选项,如字符类型、字符串长度等,方便开发者快速生成所...

    生成随机字符串和验证码的类的PHP实例

    `get_code()`函数是一个关键部分,它的作用是根据指定的长度和模式生成随机字符串。这个函数接受两个参数: 1. `$length`:一个整数,表示生成的随机字符串的长度,默认值为32。 2. `$mode`:一个整数,定义了生成...

Global site tag (gtag.js) - Google Analytics