目次
PHP之sprintf函数用法详解,sprintf函数详解
ホームページ php教程 php手册 PHP之sprintf函数用法详解,sprintf函数详解

PHP之sprintf函数用法详解,sprintf函数详解

Jun 13, 2016 am 09:21 AM
php

PHP之sprintf函数用法详解,sprintf函数详解

本文实例讲述了PHP中sprintf函数的用法。分享给大家供大家参考。具体用法分析如下:

sprintf()函数在php官方是说把字符串格式化输出了,本文就来给各位朋友介绍一下在学习sprintf()函数时的一些经验分享,希望能给大家带来帮助.

PHP函数 sprintf() 函数官方定义为:sprintf():把格式化的字符串写入一个变量中

语法为:sprintf(format,arg1,arg2,arg++);

参数:

format:必须,转换格式

arg1 :必须,规定插入 format 字符串中第一个%符号处的参数

arg1 :可选,规定插入 format 字符串中第二个%符号处的参数

arg1++:可选,规定插入 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 – 十六进制数(大写字母)

下面是一些demo,代码如下:

复制代码 代码如下:

// 1. %% :把 %% 替换成 % 
$str = '测试一下 %% 这个参数,会被替换成什么'; 
echo sprintf($str); 
//返回结果: 测试一下 % 这个参数,会被替换成什么(%%被替换成一个%) 

// 2. %b :该参数只能替换整型数据,如果是浮点型,只会取整数部分,会忽略小数点后面的数据。如果是非整型数据。返回 0 
$str = '参数 %b 会替换成二进制数'; 
$arg = '10'; 
echo sprintf($str,$arg); 
//返回结果:参数 1010 会替换成二进制数 
$arg = 10.23; 
echo sprintf($str,$arg); 
//返回结果:参数 1010 会替换成二进制数 
$arg = 'abc'; 
echo sprintf($str,$arg); 
//返回结果:参数 0 会替换成二进制数 

// 3. %c 返回字符编码的ASCII码 
$arg = 65; 
$str =  "数字 {$arg} 对应的ASCII码为 %c "; 
echo sprintf($str,$arg); 
//返回结果:数字 65 对应的ASCII码为 A 
 
// 4. %d 将一段字符里的%d替换成int型,数据要求同 $b 相同 
$str = 'ID号为 %d '; 
$arg = -3; 
echo sprintf($str,$arg); 
//返回结果:ID号为 -3 
$arg = 4.5; 
echo sprintf($str,$arg); 
//返回结果:ID号为 4 
$arg = 'abc'; 
echo sprintf($str,$arg); 
//返回结果:ID号为 0 
 
// 5. %s - 字符串 
$str = "这是用来测试的sprintf的字符串( %s )。今天消费了%f元。从钟楼到小寨有%d站。上班"; 
$arg = '%s'; 
echo sprintf($str,$arg,6,5); 
//返回结果:这是用来测试的sprintf的字符串( %s )。今天消费了6.000000元。从钟楼到小寨有5站。上班


至于其它的参数,大家可以试着测试一下.

下面说一下这个函数的一些用途,比如我们在对一张数据表所有数据做多个字段更新时,如果使用循环更新的话,那是很耗费资源的,这里就要用到我们sprintf()函数了.

在数据库批量更新时,我一般采用 case then when end 的语法来做,基本语法如:

复制代码 代码如下:

UPDATA table 
    SET field = CASE id 
        WHEN 1 THEN 'value1' 
        WHEN 2 THEN 'value2' 
        WHEN 3 THEN 'value3' 
    END 
WHERE id IN (1,2,3)


上面的意思就是说,更新 table 设置 id = 1 的值为 value1, id = 2 的值为 value2 ,id = 3 的值为 value3,这样参数上面的函数将sql语句结合成这样SQL语句,只需一条SQL就可以进行批量更新,具体的方法为:

复制代码 代码如下:

//比如 id 对应的值为以下数组 
$info = array(1=>'张三',2=>'李四',3=>'王五'); 
$ids = implode(',',array_keys($info)) //获取所有的ID字符串 
//组合SQL 
$sql = "UPDATA user SET username = CASE id"; 
foreach($info as $id=>$username){ 
     $sql .= sprintf("WHEN %d THEN %s",$id,$username); 

$sql .= "END WHERE id IN ($ids)"; 
// $model->query($sql)

上面就可以完成批量更新的操作,后面的 where子句确保只有3行数据执行.

希望本文所述对大家的PHP程序设计有所帮助。

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

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 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles