目錄
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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
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)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
PHP中int型別轉字串的方法詳解 PHP中int型別轉字串的方法詳解 Mar 26, 2024 am 11:45 AM

PHP中int型別轉字串的方法詳解在PHP開發中,常會遇到將int型別轉換為字串型別的需求。這種轉換可以透過多種方式實現,本文將詳細介紹幾種常用的方法,並附帶具體的程式碼範例來幫助讀者更好地理解。一、使用PHP內建函數strval()PHP提供了一個內建函數strval(),可以將不同類型的變數轉換為字串類型。當我們需要將int型別轉換為字串型別時,

怎麼重複字串_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次。

如何在Go語言中截取字串 如何在Go語言中截取字串 Mar 13, 2024 am 08:33 AM

Go語言是一種強大且靈活的程式語言,它提供了豐富的字串處理功能,包括字串截取。在Go語言中,我們可以使用切片(slice)來截取字串。接下來,將詳細介紹如何在Go語言中截取字串,並附上具體的程式碼範例。一、使用切片截取字串在Go語言中,可以使用切片表達式來截取字串的一部分。切片表達式的語法如下:slice:=str[start:end]其中,s

Golang字串是否以指定字元結尾的判斷方法 Golang字串是否以指定字元結尾的判斷方法 Mar 12, 2024 pm 04:48 PM

標題:Golang中判斷字串是否以指定字元結尾的方法在Go語言中,有時候我們需要判斷一個字串是否以特定的字元結尾,這在處理字串時十分常見。本文將介紹如何使用Go語言來實現這項功能,同時提供程式碼範例供大家參考。首先,讓我們來看看Golang中如何判斷一個字串是否以指定字元結尾的方法。 Golang中的字串可以透過索引來取得其中的字符,而字串的長度可

Golang中如何檢查字串是否以特定字元開頭? Golang中如何檢查字串是否以特定字元開頭? Mar 12, 2024 pm 09:42 PM

Golang中如何檢查字串是否以特定字元開頭?在使用Golang程式設計時,經常會遇到需要檢查一個字串是否以特定字元開頭的情況。針對這項需求,我們可以使用Golang中的strings套件所提供的函數來實現。接下來將詳細介紹如何使用Golang檢查字串是否以特定字元開頭,並附上具體的程式碼範例。在Golang中,我們可以使用strings套件中的HasPrefix

解決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

Golang 字串修改詳解:動態調整與可變性 Golang 字串修改詳解:動態調整與可變性 Apr 08, 2024 pm 03:27 PM

GoLang中的字串雖然不可變,但可透過以下技術動態修改:使用字串連接符號連接字串。使用字串格式化建立新字串。修改字串底層位元組切片。使用第三方庫提供的可變字串類型。

See all articles