这篇文章主要介绍了关于PHP字符串中的速查表总结,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
PHP 字符串 速查表1、addcslashes以C语言风格使用反斜线转义字符串中的字符2、addslashes
使用反斜线引用字符串 ?php$str = Is your name O reilly? // 输出: Is your name O/ reilly?echo addslashes($str);?3、bin2hex
函数把包含数据的二进制html' target='_blank'>字符串转换为十六进制值4、chop
rtrim()的别名5、chr
返回指定的字符,此函数与ord()是互补的6、chunk_split
将字符串分隔成小块 string chunk_split ( string $body [, int $chunklen = 76 [, string $end = /r/n ]] )使用此函数将字符串分割成小块非常有用。例如将 base64_encode() 的输出转换成符合 RFC 2045 语义的字符串。它会在每 chunklen 个字符后边插入 end。 ?php// 使用 RFC 2045 语义格式化 $data$new_string = chunk_split(base64_encode($data));?7、convert_cyr_string
将字符由一种Cyrillic字符转换成另一种 string convert_cyr_string ( string $str , string $from , string $to )此函数将给定的字符串从一种 Cyrillic 字符转换成另一种,返回转换之后的字符串。8、convert_uudecode
解码一个uuencode编码的字符串9、convert_uudecode
使用uuencode编码一个字符串 string convert_uuencode ( string $data )
convert_uuencode() 使用 uuencode 算法对一个字符串进行编码。
uuencode 算法会将所有(含二进制)字符串转化为可输出的字符, 并且可以被安全的应用于网络传输。使用 uuencode 编码后的数据 将会比源数据大35%左右10、count_chars
返回字符串所用字符的信息 根据不同的 mode,count_chars() 返回下列不同的结果:0 - 以所有的每个字节值作为键名,出现次数作为值的数组。1 - 与 0 相同,但只列出出现次数大于零的字节值。2 - 与 0 相同,但只列出出现次数等于零的字节值。3 - 返回由所有使用了的字节值组成的字符串。4 - 返回由所有未使用的字节值组成的字符串。11、crc32
计算一个字符串的crc32多项式12、crypt
单向字符串散列 string crypt ( string $str [, string $salt ] )crypt() 返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串。salt 参数是可选的。然而,如果没有salt的话,crypt()创建出来的会是弱密码。 php 5.6及之后的版本会在没有它的情况下抛出一个 E_NOTICE 级别的错误。为了更好的安全性,请确保指定一个足够强度的盐值。password_hash()使用了一个强的哈希算法,来产生足够强的盐值,并且会自动进行合适的轮次。password_hash()是crypt()的一个简单封装,并且完全与现有的密码哈希兼容。推荐使用password_hash()。有些系统支持不止一种散列类型。实际上,有时候,基于 MD5 的算法被用来替代基于标准 DES 的算法。这种散列类型由盐值参数触发。在 5.3 之前,PHP 在安装时根据系统的 crypt() 决定可用的算法。如果没有提供盐值,PHP 将自动生成一个 2 个字符(DES)或者 12 个字符(MD5)的盐值 ,这取决于 MD5 crypt() 的可用性。PHP 设置了一个名为 CRYPT_SALT_LENGTH 的常量,用来表示可用散列允许的最长可用盐值。基于标准 DES 算法的 crypt() 在输出内容的开始位置返回两个字符的盐值。它也只使用 str 的开始 8 个字符,所以更长的以相同 8 个字符开始的字符串也将生成相同的结果(当使用了相同的盐值时)。在 crypt() 函数支持多重散列的系统上,下面的常量根据相应的类型是否可用被设置为 0 或 1:CRYPT_STD_DES - 基于标准 DES 算法的散列使用 ./0-9A-Za-z 字符中的两个字符作为盐值。在盐值中使用非法的字符将导致 crypt() 失败。CRYPT_EXT_DES - 扩展的基于 DES 算法的散列。其盐值为 9 个字符的字符串,由 1 个下划线后面跟着 4 字节循环次数和 4 字节盐值组成。它们被编码成可打印字符,每个字符 6 位,有效位最少的优先。0 到 63 被编码为 ./0-9A-Za-z 。在盐值中使用非法的字符将导致 crypt() 失败。CRYPT_MD5 - MD5 散列使用一个以 $1$ 开始的 12 字符的字符串盐值。CRYPT_BLOWFISH - Blowfish 算法使用如下盐值:“$2a$”,一个两位 cost 参数,“$” 以及 64 位由 “./0-9A-Za-z” 中的字符组合而成的字符串。在盐值中使用此范围之外的字符将导致 crypt() 返回一个空字符串。两位 cost 参数是循环次数以 2 为底的对数,它的范围是 04-31,超出这个范围将导致 crypt() 失败。 PHP 5.3.7 之前只支持 “$2a$” 作为盐值的前缀,PHP 5.3.7 开始引入了新的前缀来修正一个在Blowfish实现上的安全风险。可以参考? this document来了解关于这个修复的更多信息。总而言之,开发者如果仅针对 PHP 5.3.7及之后版本进行开发,那应该使用 “$2y$” 而非 “$2a$”CRYPT_SHA256 - SHA-256 算法使用一个以 $5$ 开头的 16 字符字符串盐值进行散列。如果盐值字符串以 “rounds= N $” 开头,N 的数字值将被用来指定散列循环的执行次数,这点很像 Blowfish 算法的 cost 参数。默认的循环次数是 5000,最小是 1000,最大是 999,999,999。超出这个范围的 N 将会被转换为最接近的值。CRYPT_SHA512 - SHA-512 算法使用一个以 $6$ 开头的 16 字符字符串盐值进行散列。如果盐值字符串以 “rounds= N $” 开头,N 的数字值将被用来指定散列循环的执行次数,这点很像 Blowfish 算法的 cost 参数。默认的循环次数是 5000,最小是 1000,最大是 999,999,999。超出这个范围的 N 将会被转换为最接近的值。Note:从 PHP 5.3.0 起,PHP 包含了它自己的实现,并将在系统缺乏相应算法支持的时候使用它自己的实现。郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答