目录
PHP学习系列(1)——字符串处理函数(3),php函数
语法:crc32(string)
例子 3
语法:crypt(str,salt)
例子:在本例中,我们将把字符串分割为数组:
语法
format 值:" >说明:参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
提示和注释
语法:hebrev(string,maxcharline)
说明:hebrev() 和 hebrevc() 可以把希伯来逻辑文本转换为希伯来可见文本。希伯来可见文本不需要特殊的右至左字符支持,这使它对于在 web 上显示希伯来文本很有用处。
php 怎处理字符串
php 字符串加1 是否有直接函数?或代码写法
首页 后端开发 php教程 PHP学习系列(1)——字符串处理函数(3),php函数_PHP教程

PHP学习系列(1)——字符串处理函数(3),php函数_PHP教程

Jul 13, 2016 am 10:17 AM
字符串

PHP学习系列(1)——字符串处理函数(3),php函数

11、crc32() 函数计算一个字符串的 crc32 多项式。生成 string 参数的 32 位循环冗余校验码多项式。该函数可用于验证数据的完整性。

语法:crc32(string)

注意:由于 PHP 的整数是带符号的,许多 crc32 校验码将返回负整数,因此您需要使用 sprintf() 或 printf() 的 "%u" 格式符来获取表示无符号 crc32 校验码的字符串。

例子 1

在本例中,我们将在使用以及不使用 "%u" 格式符的情况下,输出 crc32() 的结果(注意结果是相同的):

<?<span>php
</span><span>$str</span> = <span>crc32</span>("Hello world!"<span>);
</span><span>echo</span> 'Without %u: '.<span>$str</span>."<br />"<span>;
</span><span>echo</span> 'With %u: '<span>;
</span><span>printf</span>("%u",<span>$str</span><span>);
</span>?>
登录后复制

输出:

Without %u: 461707669
With %u: 461707669
登录后复制
例子 2

在本例中,我们将在使用以及不使用 "%u" 格式符的情况下,输出 crc32() 的结果(注意结果是不相同的):

<?<span>php
</span><span>$str</span> = <span>crc32</span>("Hello world."<span>);
</span><span>echo</span> 'Without %u: '.<span>$str</span>."<br />"<span>;
</span><span>echo</span> 'With %u: '<span>;
</span><span>printf</span>("%u",<span>$str</span><span>);
</span>?>
登录后复制

输出:

Without %u: -1959132156
With %u: 2335835140
登录后复制

12、crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。在不同的操作系统上,本函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。

语法:crypt(str,salt)

salt参数可选。用于增加被编码字符数目的字符串,以使编码更加安全。如果未提供 salt 参数,则每次调用该函数时会随机生成一个。

确切的算法依赖于 salt 参数的格式和长度。

下面是与 crypt() 函数一起使用的一些常量。在安装时,由 PHP 设置这些常量:

  • [CRYPT_SALT_LENGTH]
  • [CRYPT_STD_DES]
  • [CRYPT_EXT_DES]
  • [CRYPT_MD5]
  • [CRYPT_BLOWFISH]

注意:解密算法是没有的,这是一种单向加密方法

在本例中,我们将测试不同的算法:

<?<span>php
</span><span>if</span> (CRYPT_STD_DES == 1<span>)
{
</span><span>echo</span> "Standard DES: ".<span>crypt</span>("hello world")."\n<br />"<span>;
}
</span><span>else</span><span>
{
</span><span>echo</span> "Standard DES not supported.\n<br />"<span>;
}

</span><span>if</span> (CRYPT_EXT_DES == 1<span>)
{
</span><span>echo</span> "Extended DES: ".<span>crypt</span>("hello world")."\n<br />"<span>;
}
</span><span>else</span><span>
{
</span><span>echo</span> "Extended DES not supported.\n<br />"<span>;
}

</span><span>if</span> (CRYPT_MD5 == 1<span>)
{
</span><span>echo</span> "MD5: ".<span>crypt</span>("hello world")."\n<br />"<span>;
}
</span><span>else</span><span>
{
</span><span>echo</span> "MD5 not supported.\n<br />"<span>;
}

</span><span>if</span> (CRYPT_BLOWFISH == 1<span>)
{
</span><span>echo</span> "Blowfish: ".<span>crypt</span>("hello world"<span>);
}
</span><span>else</span><span>
{
</span><span>echo</span> "Blowfish DES not supported."<span>;
}
?></span>
登录后复制

输出类似(依赖于操作系统):

Standard DES: $1$r35.Y52.$iyiFuvM.zFGsscpU0aZ4e. 
Extended DES not supported. 
MD5: $1$BN1.0I2.$8oBI/4mufxK6Tq89M12mk/ 
Blowfish DES not supported.
登录后复制
13、explode() 函数把字符串分割为数组。
登录后复制
语法:explode(separator,string,limit)
登录后复制
说明:本函数返回由字符串组成的数组,其中的每个元素都是由 separator 作为边界点分割出来的子字符串。
登录后复制
separator 参数不能是空字符串。如果 separator 为空字符串(""),explode() 将返回 FALSE。
登录后复制
如果 separator 所包含的值在string 中找不到,那么 explode() 将返回包含 string 中单个元素的数组。如果设置了 limit 参数,
登录后复制
则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
登录后复制
此特性是 PHP 5.1.0 中新增的。
登录后复制
注意:参数 limit 是在 PHP 4.0.1 中加入的。由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。
登录后复制
你必须保证 <em>separator</em> 参数在 <em>string</em> 参数之前才行。
登录后复制

例子:在本例中,我们将把字符串分割为数组:

<?<span>php
</span><span>$str</span> = "Hello world. It's a beautiful day."<span>;
</span><span>print_r</span> (<span>explode</span>(" ",<span>$str</span><span>));
</span>?>
登录后复制

输出:

Array
(
[0] => Hello
[1] => world.
[2] => It's
[3] => a
[4] => beautiful
[5] => day.
)
登录后复制
 
登录后复制
14、fprintf() 函数把格式化的字符串写到指定的输出流(例如:文件或数据库)。
登录后复制

该函数返回被写字符串的长度。

语法
fprintf(stream,format,arg1,arg2,arg++)
登录后复制

stream——可选。规定在哪里写/输出字符串。

format——必需。转换格式。

arg1——必需。规定插到 format 字符串中第一个 % 符号处的参数。

arg2——可选。规定插到 format 字符串中第二个 % 符号处的参数。

arg++——可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。

说明:参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
  • %% - 返回百分比符号
  • %b - 二进制数
  • %c - 依照 ASCII 值的字符
  • %d - 带符号十进制数
  • %e - 可续计数法(比如 1.5e+3)
  • %u - 无符号十进制数
  • %f - 浮点数(local settings aware)
  • %F - 浮点数(not local settings aware)
  • %o - 八进制数
  • %s - 字符串
  • %x - 十六进制数(小写字母)
  • %X - 十六进制数(大写字母)

arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

提示和注释

注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 "\$" 组成。请参见例子 3。

提示: 相关函数: printf()、 sprintf()、 vfprintf()、 vprintf() 以及 vsprintf()。

例子

例子 1
<?php
$str = "Hello";
$number = 123;
$file = fopen("test.txt","w");
echo <code>fprintf($file,"%s world. Day number %u",$str,$number)</code>;
?>
登录后复制

输出:

27
登录后复制

以下文本将写入 "test.txt":

Hello world. Day number 123
登录后复制
例子 2
<?php
$number = 123;
$file = fopen("test.txt","w");
<code>fprintf($file,"%f",$number);</code>
?>
登录后复制

输出:

123.000000
登录后复制
例子 3

使用占位符:

<?php
$number = 123;
$file = fopen("test.txt","w");
<code>fprintf($file,"With 2 decimals: %1\$.2f\nWith no decimals: %1\$u",$number)</code>;
?>
登录后复制

以下文本将写入 "test.txt":

With 2 decimals: 123.00
With no decimals: 123
登录后复制

15、hebrev() 函数把希伯来文本从右至左的流转换为左至右的流。只有 224 至 251 之间的 ASCII 字符,以及标点符号受到影响。

语法:hebrev(string,maxcharline)

maxcharline——规定每行的最大字符数。如果可能,hebrev() 将避免把单词断开。

说明:hebrev() 和 hebrevc() 可以把希伯来逻辑文本转换为希伯来可见文本。希伯来可见文本不需要特殊的右至左字符支持,这使它对于在 web 上显示希伯来文本很有用处。

<br /> 
登录后复制

php 怎处理字符串

大家通过对PHP的学习,可以运用这一高级语言创建一个性能较高的网站。对于初学者来说,对于PHP字符串mbstring还是比较陌生的,下面我们就来介绍一下PHP字符串mbstring的具体应用。

多国语言并存就意味着多字节,PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是1~3倍的差异了。

采用PHP字符串mbstring可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串$str长度,可以用mb_strlen($str,’UTF-8′)。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过mb_internal_encoding()函数得到,设置有两种方式:

1. 在php.ini中设置mbstring.internal_encoding = UTF-8

2. 调用mb_internal_encoding(”GBK”)

除了PHP字符串mbstring,还有很多切割函数,其中mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象。而且从函数切割对长度的作用也不同,mb_strcut的切割条件是小于strlen, mb_substr是等于strlen,看下面的例子,



输出如下:

mb_substr:我是一串比较

mb_strcut:我是

需要注意的是,PHP字符串mbstring并不是PHP核心函数,使用前需要确保在php编译模块时加入mbstring的支持:

(1)编译时使用–enable-mbstring

(2)修改/usr/local/lib/php.inc

default_charset = “zh-cn”

mbstring.language = zh-cn

mbstring.internal_encoding =zh-cn

PHP字符串mbstring类库内容比较多,还包括mb_ send_ mail 之类的email处理函数等
 

php 字符串加1 是否有直接函数?或代码写法

想指出的是楼主这种“在字符串上做算术运算”的需求是比较扭曲的,
即使实现,从性能效率的角度是非常低下。个人没有看出任何实用和理论意义。
可以看成2部分
字母部分,为26进制(如果字符集包括中文将成为几万进制),a=1...z=26 有z+a=26+1=aa 接受10进制加法输入
数字部分,为10进制,9+1=10,

而且还缺少对“a999+1后是否进位?怎么进位?”进行说明
结果有多个可能
1、不进位。a999+1得a000 ,
2、仅10进制部分进位。a999+1得a1000
2、整体进位。a999+1得b000

需要说明这点后才可能写出实现
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/890821.htmlTechArticlePHP学习系列(1)——字符串处理函数(3),php函数 11、crc32() 函数计算一个字符串的 crc32 多项式。生成 string 参数的 32 位循环冗余校验码...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP中int类型转字符串的方法详解 PHP中int类型转字符串的方法详解 Mar 26, 2024 am 11:45 AM

PHP中int类型转字符串的方法详解在PHP开发中,经常会遇到将int类型转换为字符串类型的需求。这种转换可以通过多种方式实现,本文将详细介绍几种常用的方法,并附带具体的代码示例来帮助读者更好地理解。一、使用PHP内置函数strval()PHP提供了一个内置函数strval(),可以将不同类型的变量转换为字符串类型。当我们需要将int类型转换为字符串类型时,

Golang中如何检查字符串是否以特定字符开头? Golang中如何检查字符串是否以特定字符开头? Mar 12, 2024 pm 09:42 PM

Golang中如何检查字符串是否以特定字符开头?在使用Golang编程时,经常会遇到需要检查一个字符串是否以特定字符开头的情况。针对这一需求,我们可以使用Golang中的strings包提供的函数来实现。接下来将详细介绍如何使用Golang检查字符串是否以特定字符开头,并附上具体的代码示例。在Golang中,我们可以使用strings包中的HasPrefix

Golang字符串是否以指定字符结尾的判断方法 Golang字符串是否以指定字符结尾的判断方法 Mar 12, 2024 pm 04:48 PM

标题:Golang中判断字符串是否以指定字符结尾的方法在Go语言中,有时候我们需要判断一个字符串是否以特定的字符结尾,这在处理字符串时十分常见。本文将介绍如何使用Go语言来实现这一功能,同时提供代码示例供大家参考。首先,让我们来看一下Golang中如何判断一个字符串是否以指定字符结尾的方法。Golang中的字符串可以通过索引来获取其中的字符,而字符串的长度可

python怎么重复字符串_python重复字符串教程 python怎么重复字符串_python重复字符串教程 Apr 02, 2024 pm 03:58 PM

1、首先打开pycharm,进入到pycharm主页。2、然后新建python脚本,右键--点击new--点击pythonfile。3、输入一段字符串,代码:s="-"。4、接着需要把字符串里面的符号重复20次,代码:s1=s*20。5、输入打印输出代码,代码:print(s1)。6、最后运行脚本,在最底部会看到我们的返回值:-就重复了20次。

解决PHP中16进制转字符串出现中文乱码的方法 解决PHP中16进制转字符串出现中文乱码的方法 Mar 04, 2024 am 09:36 AM

解决PHP中16进制转字符串出现中文乱码的方法在PHP编程中,有时候我们会遇到需要将16进制表示的字符串转换为正常的中文字符的情况。然而,在进行这个转换的过程中,有时会遇到中文乱码的问题。这篇文章将为您提供解决PHP中16进制转字符串出现中文乱码的方法,并给出具体的代码示例。使用hex2bin()函数进行16进制转换PHP内置的hex2bin()函数可以将1

PHP字符串匹配技巧:避免模糊包含表达式 PHP字符串匹配技巧:避免模糊包含表达式 Feb 29, 2024 am 08:06 AM

PHP字符串匹配技巧:避免模糊包含表达式在PHP开发中,字符串匹配是一个常见的任务,通常用于查找特定的文本内容或验证输入的格式。然而,有时候我们需要避免使用模糊的包含表达式来确保匹配的准确性。本文将介绍一些在PHP中进行字符串匹配时避免模糊包含表达式的技巧,并提供具体的代码示例。使用preg_match()函数进行精确匹配在PHP中,可以使用preg_mat

PHP字符串操作:有效去除空格的实用方法 PHP字符串操作:有效去除空格的实用方法 Mar 24, 2024 am 11:45 AM

PHP字符串操作:有效去除空格的实用方法在PHP开发中,经常会遇到需要对字符串进行去除空格操作的情况。去除空格可以使得字符串更加整洁,方便后续的数据处理和显示。本文将介绍几种有效的去除空格的实用方法,并附上具体的代码示例。方法一:使用PHP内置函数trim()PHP内置函数trim()可以去除字符串两端的空格(包括空格、制表符、换行符等),非常方便且简单易用

PHP实现删除字符串最后两个字符的技巧 PHP实现删除字符串最后两个字符的技巧 Mar 23, 2024 pm 12:18 PM

PHP作为一种广泛应用于开发Web应用程序的脚本语言,其字符串处理功能十分强大。在日常开发中,经常会遇到需要删除字符串的操作,特别是删除字符串的最后两个字符。本文将介绍两种PHP实现删除字符串最后两个字符的技巧,并提供具体的代码示例。技巧一:使用substr函数PHP中的substr函数用于返回字符串的一部分。通过指定字符串和起始位置,我们可以轻松地删除字符

See all articles