目次
sprintf函数php的详细使用方法,sprintf函数php
PHP sprintf() 函数
ホームページ バックエンド開発 PHPチュートリアル sprintf関数phpの詳しい使い方、sprintf関数php_PHPチュートリアル

sprintf関数phpの詳しい使い方、sprintf関数php_PHPチュートリアル

Jul 11, 2016 am 10:36 AM

sprintf函数php的详细使用方法,sprintf函数php

 

PHP sprintf() 函数

先说下为什么要写这个函数的前言,这个是我在微信二次开发的一个token验证文档也就是示例文档看到的一个函数,当时非常不理解,于是查了百度,但是很多结果都很笼统,结果也很少,后来查阅了3c和问了公司的一些人做了一些测试慢慢懂了一些,一下就是我对sprintf函数的个人见解

 

用处:把字符串进行多种类型的格式化

用于:处理xml数据格式时,需要用到他来格式化等等

 

基本语法格式:sprintf("%格式化类型","$str1","$str2") ;先别急我会一个个慢慢说

先看一下类型参照表,也就是要转换成什么类型的格式

这是转换格式的类型参照表

 

先举个最简单的案例

<?<span>php
</span><span>$str1</span>="1234"<span>;

</span><span>echo</span> <span>sprintf</span>("hello%s","<span>$str1</span>"<span>);

</span><span>//</span><span>效果为: hello1234</span>


?>
ログイン後にコピー

这什么意思呢

要点:

%s = %符号和后面属性符号(s)总称为插入标记组合,也就是把后面准备进行格式化的值($str1)替换在这个位置

hello = 这个单词就是很多人蒙蔽的地方,告诉你这个什么代表也没有,就单纯的代表一个hello,用于分割或者修饰用,一般用[ %s ]、<%s>这样格式化出来后就直接在标签里

记住,一个%标记符后面只有一个类型属性(比如s),s是什么上面有,以字符串的方式格式化

那么多个值怎么格式化一起呢

<?<span>php
</span><span>$a</span>="abcdef"<span>;
</span><span>$b</span>="abcdef"<span>;

</span><span>$c</span>="1234"<span>;
</span><span>echo</span> <span>sprintf</span>("%1\$s%2\$s",<span>$c</span>,<span>$a</span><span>);

</span><span>//</span><span>效果为: 1234abcdef</span>


?>
ログイン後にコピー

%s为一个标记,两个%s%s这样写却是错误的,每个%s必须标记键位,不然我怎么知道都代表格式化后面的哪个$str呢,所以有个特别的语法

%1\$%2\$ 解释:%1表示格式化sprintf("%1\$%2\$",''$str1","$str2")中对应的$str1,那么%2自然表示格式化$str2,\$是代表有多个值准备格式化,所以每个%1和%2或者还有%3的标记后都要加这个符号代表一行中有多个标记,如果只有一个标记就不用\$了占位符了,记住$str2、$str3是可选,也就是可以不格式化这么多

讲个特殊的例子

<?<span>php
</span><span>$a</span>="abcdef"<span>;
</span><span>$b</span>="abcdef"<span>;

</span><span>$c</span>="1234"<span>;
</span><span>echo</span> <span>sprintf</span>("%'x13.2f",<span>$c</span><span>);

</span><span>//</span><span> 效果为:xxxxxx1234.00


//echo sprintf("%06.2f", $a);</span>


?>
ログイン後にコピー

sprintf("%'x13.2f",$c);

这是什么意思,f是浮点数,第一步按照格式 % '(补位值) 宽度值 格式化类型 这三部分,语法之间必须紧挨着不能用空格

必须解释一下何为补位值:就是设定的宽度超出了,用这个值来填上

解释一下,补位值只有设置宽度超出了目标值才能用

所以就是用x补位,13为总宽度,2为小数点后的宽度,f为格式化类型,别急我会解释

' 号(单引号)代表接下来要用补位类型

为什么他能识别x是补位值呢,因为前面有 ' 号,

为什么他能识别哪几位是哪种类型呢,他是这样识别的,按顺序从先从两头的字符开始识别是什么类型,补位值肯定是单数位,不可能一个位置补两个数吧,所以左边第一位x是补位值,右边第一位是格式化类型,然后中间的自然是宽度值

第二,为什么小数点 后还有一个属性 ,因为这是f(浮点型),必须设置小数点后有几位,不能小数后面不能设置了吧,那浮点数意义何在呢

不要觉得烦,每个例子都是浓缩出来的

整数补位

<?<span>php
</span><span>$a</span>="abcdef"<span>;
</span><span>$b</span>="abcdef"<span>;

</span><span>$c</span>="1234"<span>;
</span><span>echo</span> <span>sprintf</span>("%'07s",<span>$c</span><span>);

</span><span>//</span><span>结果是:0001234</span>


?>
ログイン後にコピー

这就是整数补位,还是一样
第一步按照格式 % '(补位值) 宽度值 格式化类型 这三部分

0是补位值 7是宽度值 s自然是格式化类型

还有一种最重要的例子

<?<span>php
</span><span>$a</span>="abcdef"<span>;
</span><span>$b</span>="abcdef"<span>;

</span><span>$c</span>="1234"<span>;
</span><span>echo</span> <span>sprintf</span>("[%-6s]",<span>$c</span>);       <span>//</span><span>结果是:[1234 ]</span>

<span>echo</span> <span>sprintf</span>("[%-4s]",<span>$c</span>);       <span>//</span><span>结果是:[1234]</span>

<span>echo</span> <span>sprintf</span>("[%4.2s]",<span>$c</span>);       <span>//</span><span>结果是:[ 12]</span>

?>
ログイン後にコピー

 

这个第一步 [ ] 仅仅只是修饰,不用理解

第二步,没有 ' 号,证明没有补位,无需添加补位值

所以语法格式为 :    宽度值  格式化类型  这两部分

 

1行目と2行目は次のように説明されています:

最初の幅は6ですが、$c=1234で4文字しかないので幅が足りないので右側が自動的に拡張されます(いくら拡張してもスペース1つしか表示されません)、なぜですか右側に展開されていますか?幅の前に幅があるので、塗りつぶしの値の前に-を追加すると、塗りつぶしは自然に右から始まります

下に変化がないのは、幅は全く同じですが、塗りつぶしの方向が変わっているからです

3行目は次のように説明されています:

騙されないでください、構文構造は同じです % 幅の値 書式設定の種類 これら 2 つの部分

つまり、幅の値は 4.2 のままです

ただ、小数点の左側の4は全体の幅を表し、右側の2は2桁しか表示されないことを表しているので、あと2つの空きがあるので、左側に2つの空きが展開されているのに、なぜだけなのか前の段落で述べたように、最大​​でも 1 つのスペースだけが表示されます。デフォルトでは左から開始します

十分に説明されていると思います。わからないことがあれば、いつでもメッセージを残してください。あなたの小さな手を差し伸べてください。いいねをお願いします

www.bkjia.com本当http://www.bkjia.com/PHPjc/1140785.html技術記事 sprintf 関数の詳しい使い方 php、sprintf 関数 php PHP sprintf() 関数 まず、なぜこの関数を書いたかという前置きをお話します これは WeChat で開発したトークン検証の記事です...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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のカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles