目次
PHP学习系列(1)——字符串处理函数(3),php函数
语法:crc32(string)
例子 3
语法:crypt(str,salt)
例子:在本例中,我们将把字符串分割为数组:
语法
format 值:" >说明:参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
提示和注释
语法:hebrev(string,maxcharline)
说明:hebrev() 和 hebrevc() 可以把希伯来逻辑文本转换为希伯来可见文本。希伯来可见文本不需要特殊的右至左字符支持,这使它对于在 web 上显示希伯来文本很有用处。
php 怎处理字符串
2つの部分に分けて見ることができます
ホームページ バックエンド開発 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&lt;br /&gt;"<span>;
}
</span><span>else</span><span>
{
</span><span>echo</span> "Standard DES not supported.\n&lt;br /&gt;"<span>;
}

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

</span><span>if</span> (CRYPT_MD5 == 1<span>)
{
</span><span>echo</span> "MD5: ".<span>crypt</span>("hello world")."\n&lt;br /&gt;"<span>;
}
</span><span>else</span><span>
{
</span><span>echo</span> "MD5 not supported.\n&lt;br /&gt;"<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 を学習すると、この高級言語を使用してよりパフォーマンスの高い 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を加算する直接関数はありますか?またはコードの書き方



私が指摘したいのは、投稿者の「文字列に対して算術演算を実行する」というニーズは非常に歪んでいるということです。それが実装されたとしても、パフォーマンス効率の観点からは非常に低いです。私は個人的には実用的または理論的な重要性を感じません。

2つの部分に分けて見ることができます

文字部分は16進数(文字セットに中国語が含まれる場合は数万の10進数になります)、a=1...z=26、z+a=26+1=aa 10進数を受け付けます システム加算入力の
桁部分は10進数で9+1=10です
そして「a999+1の後に桁上げはありますか?どうやって桁上げするのですか?」の説明がまだ不足しています
複数あります考えられる結果

1. キャリーはありません。 a999+1はa000、
2の小数部分のみが桁上がります。 a999+1でa1000
2を獲得。 a999+1 は b000 を取得します

実装を書く前にこれを説明する必要があります





http://www.bkjia.com/PHPjc/890821.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/890821.html

PHP学習シリーズ(1) - 文字列処理関数(3)、PHP関数11、crc32()関数は文字列のcrc32多項式を計算します。文字列パラメーターの 32 ビット巡回冗長検査コードを生成します...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPでint型をstringに変換する方法を詳しく解説 PHPでint型をstringに変換する方法を詳しく解説 Mar 26, 2024 am 11:45 AM

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

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 スクリプトを作成し、右クリックして [新規] をクリックし、[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進数を文字列に変換する際に中国語が文字化けする問題を解決する方法と、具体的なコード例を紹介します。 16 進数の変換には hex2bin() 関数を使用します。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 開発では、文字列からスペースを削除する必要がある状況によく遭遇します。スペースを削除すると文字列がきれいになり、その後のデータ処理と表示が容易になります。この記事では、スペースを削除するための効果的かつ実践的な方法をいくつか紹介し、具体的なコード例を添付します。方法1: PHP組み込み関数trim()を使用する PHP組み込み関数trim()を使用すると、文字列の両端のスペース(スペース、タブ、改行などを含む)を削除でき、非常に便利で簡単です。使用します。

文字列の最後の 2 文字を削除するための PHP テクニック 文字列の最後の 2 文字を削除するための PHP テクニック Mar 23, 2024 pm 12:18 PM

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

See all articles