ホームページ php教程 php手册 PHP sprintf() 函数使用方法详解

PHP sprintf() 函数使用方法详解

Jun 13, 2016 am 10:16 AM
php 説明書 書く 書く 関数 私たち バンドル フォーマット 知る 詳しい説明

我们知道sprintf() 函数把格式化的字符串写写入一个变量中,我们经常会看到这类代码了,下面我来介绍sprintf() 函数使用方法,有需要的朋友可参考参考。

用法

sprintf(format,arg1,arg2,arg++)

说明
参数 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,依此类推。

我在微信开放平台会看到如下代码

 代码如下 复制代码

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
    $msgType = "text";
                $textTpl = "
       
       
       %s
       
       
       0
       
";            
    if(!empty( $keyword ))
                {
                
                 $contentStr = $this->keyrep($keyword);
     if(  empty($contentStr) )
     {
      $contentStr ="你是故意的吧,没文化真可怕";//你是故意的吧,没文化真可怕;
     }
     //$contentStr = @iconv('UTF-8','gb2312',$keyword);
                 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                 echo $resultStr;
     
                }else{
                 $contentStr = '没文化真可怕,居然不会打字!';//$this->keyrep($keyword);
                 //$contentStr = @iconv('UTF-8','gb2312',$keyword);
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                 echo $resultStr;
                }

上面用到的是xml中了,下面再看一个网友写的例子

 代码如下 复制代码


 /**
  *        sprintf()函数使用
  *        @date 2012-12-17
  *        @author cntnn11
  */
  /**
  *        手册定义:函数把格式化的字符串写写入一个变量中。
  *        他的可识别的格式
  *            %% - 返回百分比符号
  *            %b - 二进制数
  *            %c - 依照 ASCII 值的字符
  *            %d - 带符号十进制数
  *            %e - 科学计数法(比如 1.5e+3)
  *            %u - 无符号十进制数
  *            %f - 浮点数(local settings aware)
  *            %F - 浮点数(not local settings aware)
  *            %o - 八进制数
  *            %s - 字符串
  *            %x - 十六进制数(小写字母)
  *            %X - 十六进制数(大写字母)
  *        sprintf($str, arg1, arg2, arg3 ...);
 */
 
 /**
 *    1.    %%
 *        把%%替换成%
 */
 $testStr    = '测试下%%这个参数。会被替换成什么呢';
 echo sprintf($testStr),'
';
 //-> 测试下%这个参数。会被替换成什么呢;
 //只剩下一个%了
 //看来还真的只是返回一个‘%’。但是实际应用中该怎么用呢?
 //我也不知道~
 echo '



';
 /**
 *    2.    %b
 *        该参数只能替换整型数据。如果是浮点型,那么他只会取整数部分。小数点后边的会忽略
 *        如果是一个非整型数据,那么返回 0
 */
 $testStr    = '听说%b会替换成二进制数,真的吗?';
 $arg        = '10';
 echo sprintf($testStr, $arg),'
';
 //-> 1010;    $arg=10;    真的替换了!
 //-> 101;    $arg=4.5
 //-> 0;        $arg=str/bool...
 echo '


';
 
 /**
 *    3.    %c 返回字符编码的ASCII码
 *        TIP:[他不是返回ASCII码]
 *        $arg接受一个int传入即ASCII的数字值,然后返回该值对应的字符
 */
 $testStr    = '我们来测试下 %c : 试试看能返回ASCII码吗';
 $arg    = '122';
 echo sprintf($testStr, $arg);
 //-> A;    $arg=65;
 //-> z; $arg=122
 echo '


';
 /**
  *    4. %d 将一段字符里的%d替换成int型
  *        TIP:这里可以是任意一个int整型。
  *            如果是一个浮点数据,那么只会替换整数部分
  *            如果是非数字的,那么会替换成0
  */
 $testStr    = "这是一个ID,ID号是%d,";
 $arg        = '-4';
 echo sprintf($testStr, $arg);
 //-> 4;    $arg=4.5
 //-> 0; $arg=[a-zA-Zs];
 echo '


';
 
 /**
  *    5.    %e 科学计数法
  *        TIP:将一段很长很长的int整型数据以科学计数法的形式呈现
  *            同%d,该函数同样会忽略掉小数点后面的,任何非数值数据替换成0
 */
 $testStr    = "我很长,有N多位。。。 %e";
 $arg        = '46498464654864564642449463699789789313';
 echo sprintf($testStr, $arg);
 //-> 4.649846e+14;    $arg=464984646548645.64642449463699789789313
 //-> 0.000000e+0; $arg=asdfasdf;
 echo '


';
 
 /**
  *    5.    %u - 无符号十进制数
  *        不明白。。。如果有是负数,他的值不知道是啥值
 */
 $testStr    = "我是无符号的十进制数。。。 %u";
 $arg        = '456';
 echo sprintf($testStr, $arg);
 echo '


';
 
 /**
  *    6.    %f - 浮点数(local settings aware)
  *            难道和%d是相反的?
  *                这个会返回一个浮点数,并且小数点后面只有固定的6位
  *                字符串同样为 0 ;
 */
 $testStr    = "和那个d有啥区别呢?%f";
 $arg        = '456.235645';
 echo sprintf($testStr, $arg);
 echo '


';
 
 /**
  *    7.    %F - 浮点数(not local settings aware)
  *        难道和%f是相反的?怎么和小f没区别?不会吧
  */
 $testStr    = "和那个小写的f有啥区别呢?%F";
 $arg        = '12312316.46898';
 echo sprintf($testStr, $arg);
 echo '


';
 
 /**
  *    8.    %o - 八进制数
  *        同%d一样。只不过参数传入一个八进制数值
  */
 $testStr    = "将八进制数替换成十进制的 %o";
 $arg        = '8';
 echo sprintf($testStr, $arg);
 echo '


';
 
 /**
  *    9.    %x - 十六进制数(小写字母)
  *        同%d/%o一样。只不过参数传入一个小写字母的十六进制数值
  */
 $testStr    = "将十六进制数替换成十进制的 %o";
 $arg        = '456d12';
 echo sprintf($testStr, $arg);
 echo '


';
 
 /**
  *    10.    %X - 十六进制数(大写字母)
  *        同%d/%o/%x一样。只不过参数传入一个大写字母的十六进制数值
  *        貌似%x %X两个字母大小写没区别...
  */
 $testStr    = "将大写字母的十六进制数替换成十进制的 %o";
 $arg        = '456D12';
 echo sprintf($testStr, $arg);
 echo '


';
 
 /**
  *    11.    %s - 字符串
  *        用你传入的字符串替换掉%s
  */
 $string    = "这是用来测试的sprintf的字符串( %s )。今天消费了%f元。从西二旗到知春路有%d站。上班";
 $arg    = '';
 echo sprintf($string, $arg, 234, 10);
 echo '


';
 
 
  ?>
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

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.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles