PHP学習シリーズ(1)~文字列処理関数(3)、php関数_PHPチュートリアル
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 を学習すると、この高級言語を使用してよりパフォーマンスの高い Web サイトを作成できるようになります。初心者にとって、PHP 文字列 mbstring はまだ馴染みのないものです。PHP 文字列 mbstring の具体的なアプリケーションを紹介します。
複数の言語が共存すると、PHP の組み込み文字列長関数 strlen は、文字列によって占有されるバイト数のみを正しく処理できなくなります。 GB2312 中国語エンコードの場合、strlen で取得される値は中国語の文字数の 2 倍ですが、UTF-8 でエンコードされた中国語の場合、その差は 1 ~ 3 倍になります。
PHP 文字列 mbstring を使用すると、この問題をより適切に解決できます。 mb_strlen の使用法は strlen と似ていますが、文字エンコーディングを指定する 2 番目のオプションのパラメーターがある点が異なります。たとえば、UTF-8 文字列 $str の長さを取得するには、mb_strlen($str,’UTF-8’) を使用できます。 2 番目のパラメータを省略した場合は、PHP の内部エンコーディングが使用されます。内部エンコーディングは、mb_internal_encoding() 関数を通じて取得できます。設定するには 2 つの方法があります:
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 と等しいという条件で長さに影響します。
< - www.jefflei .com'; echo “mb_substr:” . mb_substr($str, 0, 6, 'utf-8'); echo “mb_strcut:” . utf-8′) ; 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 などの電子メール処理関数も含まれています
PHP文字列に1を加算する直接関数はありますか?またはコードの書き方
1. キャリーはありません。 a999+1はa000、
2の小数部分のみが桁上がります。 a999+1でa1000
2を獲得。 a999+1 は b000 を取得します
実装を書く前にこれを説明する必要があります
http://www.bkjia.com/PHPjc/890821.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/890821.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPでint型をstring型に変換する方法を詳しく解説 PHPの開発では、int型をstring型に変換する必要に遭遇することがよくあります。この変換はさまざまな方法で実現できますが、この記事では、読者の理解を深めるために、具体的なコード例とともに、いくつかの一般的な方法を詳しく紹介します。 1. PHP の組み込み関数 strval() を使用する PHP には、さまざまな型の変数を文字列型に変換できる組み込み関数 strval() が用意されています。 int型をstring型に変換する必要がある場合、

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Golang でプログラミングする場合、文字列が特定の文字で始まるかどうかを確認する必要がある状況によく遭遇します。この要件を満たすために、Golang の strings パッケージによって提供される関数を使用してこれを実現できます。次に、Golangを使って文字列が特定の文字で始まるかどうかを確認する方法を、具体的なコード例とともに詳しく紹介します。 Golang では、strings パッケージの HasPrefix を使用できます。

タイトル: Golang で文字列が特定の文字で終わるかどうかを判断する方法 Go 言語では、文字列が特定の文字で終わるかどうかを判断する必要があることがあります。これは文字列を処理するときに非常に一般的です。この記事では、Go 言語を使用してこの関数を実装する方法と、参考用のコード例を紹介します。まず、Golang で文字列が指定された文字で終わるかどうかを判断する方法を見てみましょう。 Golang の文字列内の文字はインデックス作成によって取得でき、文字列の長さは次のようになります。

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列内のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを実行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

PHP で 16 進数の文字列を変換するときに中国語の文字化けを解決する方法. PHP プログラミングでは、16 進数で表された文字列を通常の中国語の文字に変換する必要がある状況に遭遇することがあります。しかし、この変換の過程で、場合によっては中国語の文字化けが発生することがあります。この記事では、PHPで16進数を文字列に変換する際に中国語が文字化けする問題を解決する方法と、具体的なコード例を紹介します。 16 進数の変換には hex2bin() 関数を使用します。PHP の組み込み hex2bin() 関数は 1 を変換できます

PHP 文字列マッチングのヒント: あいまいな組み込み式を避ける PHP 開発では、文字列マッチングは一般的なタスクであり、通常は特定のテキスト コンテンツを検索したり、入力形式を検証したりするために使用されます。ただし、一致の精度を確保するために、曖昧な包含式の使用を避ける必要がある場合があります。この記事では、PHP で文字列マッチングを行うときにあいまいな包含式を回避するためのテクニックをいくつか紹介し、具体的なコード例を示します。完全一致には preg_match() 関数を使用します。 PHP では、preg_mat を使用できます。

PHP 文字列操作: スペースを効果的に削除する実用的な方法 PHP 開発では、文字列からスペースを削除する必要がある状況によく遭遇します。スペースを削除すると文字列がきれいになり、その後のデータ処理と表示が容易になります。この記事では、スペースを削除するための効果的かつ実践的な方法をいくつか紹介し、具体的なコード例を添付します。方法1: PHP組み込み関数trim()を使用する PHP組み込み関数trim()を使用すると、文字列の両端のスペース(スペース、タブ、改行などを含む)を削除でき、非常に便利で簡単です。使用します。

Web アプリケーションの開発に広く使用されているスクリプト言語として、PHP には非常に強力な文字列処理機能があります。日常の開発では、文字列、特に文字列の最後の 2 文字を削除する必要がある操作に遭遇することがよくあります。この記事では、文字列の最後の 2 文字を削除するための 2 つの PHP テクニックを紹介し、具体的なコード例を示します。ヒント 1: substr 関数を使用する PHP の substr 関数は、文字列の一部を返すために使用されます。文字列と開始位置を指定することで簡単に文字を削除できます
