php中的sprintf的应用

 更新时间:2016年11月25日 16:11  点击:1980

sprintf

将字串格式化。

语法: string sprintf(string format, mixed [args]...);

传回值: 字串

函式种类: 资料处理

内容说明

本函式用来将字串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了

1. 填空字元。0 的话表示空格填 0;空格是内定值,表示空格就放着。

2. 对齐方式。内定值为向右对齐,负号表向左对齐。

3. 栏位宽度。为最小宽度。

4. 精确度。指在小数点后的浮点数位数。

型态,见下表

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符号,不转换。
b 整数转成二进位。
c 整数转成对应的 ASCII 字元。
d 整数转成十进位。
f 倍精确度数字转成浮点数。
o 整数转成八进位。
s 整数转成字串。
x 整数转成小写十六进位。
X 整数转成大写十六进位。

例子

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

使用范例

<?
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// 此时变数 $money 值为 "123.1";
$formatted = sprintf ("%01.2f", $money);
// 此时变数 $ formatted 值为 "123.10"
?>

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

这个 %01.2f 是什么意思呢?

首先 这个 % 符号是开始的意思,他写在最前面表示指定格式要开始了。 也就是 "起始字符", 直到出现 "转换字符" 为止,就算格式终止。

然后 跟在 % 符号 后面的是 0 这个零是 "填空字元" 表示,如果位置空着 就用0来填满。
在 0 后面的是 1 这个 1 是规定,小数点前面的数字占位要有1位以上。

如果把 1 改成 2 如果 $money 的值为 1.23 ,则 $formatted 的值将为 01.23
因为,在小数点前面的数字只占了1位,按照上面所规定的格式,小数点前数字应该占2位,现在只有1位,所以,用0来填满。

到目前,在 %01 后面的 .2 (点2) 就很好理解了,它的意思是,规定,小数点后的数字,必需占2位. 如果这时候,$money 的值为 1.234,则 $formatted 的值将为 1.23。
为什么 4 不见了呢? 因为,在小数点后面 按照上面的规定,必需且仅能占2位。 可是 $money 的值中,小数点占了3位,所以,4 被去掉了,只剩下 23。

最后,以 f "转换字符" 结尾,其他转换字符请自行参考上面的转换字符列表。

关于对齐

如果在 % 起始符号后面 加上 - (负号) 则,将会把数字以向右对齐的方式进行处理。

列子


<?
$money = 1.4;

$formatted = sprintf ("%-02.2f", $money);

echo $formatted;
?>

这时候,$formatted 将不会再是 01.40 而是 1.400

 

<

*----------------------
过滤HTML代码的函数
-----------------------*/
function htmlEncode($string) {
    $string=trim($string);
    $string=str_replace("&","&",$string);
    $string=str_replace("''","''",$string);
    $string=str_replace("&amp;","&",$string);
    $string=str_replace("&quot;",""",$string);
    $string=str_replace(""",""",$string);
    $string=str_replace("&lt;","<",$string);
    $string=str_replace("<","<",$string);
    $string=str_replace("&gt;",">",$string);
    $string=str_replace(">",">",$string);
    $string=str_replace("&nbsp;"," ",$string);
    $string=nl2br($string);
    return $string;
}

 



AddSlashes:    字符串加入斜线。
bin2hex:    二进位转成十六进位。
Chop:    去除连续空白。
Chr:    返回序数值的字符。
chunk_split:    将字符串分成小段。
convert_cyr_string:    转换古斯拉夫字符串成其它字符串。
crypt:    将字符串用 DES 编码加密。
echo:    输出字符串。
explode:    切开字符串。
flush:    清出输出缓冲区。
get_meta_tags:    抽出文件所有 meta 标记的资料。
htmlspecialchars:    将特殊字符转成 HTML 格式。
htmlentities:    将所有的字符都转成 HTML 字符串。
implode:    将数组变成字符串。
join:    将数组变成字符串。
ltrim:    去除连续空白。
md5:    计算字符串的 MD5 哈稀。
nl2br:    将换行字符转成 <br>。
Ord:    返回字符的序数值。
parse_str:    解析 query 字符串成变量。
print:    输出字符串。
printf:    输出格式化字符串。
quoted_printable_decode:    将 qp 编码字符串转成 8 位字符串。
QuoteMeta:    加入引用符号。
rawurldecode:    从 URL 专用格式字符串还原成普通字符串。
rawurlencode:    将字符串编码成 URL 专用格式。
setlocale:    配置地域化信息。
similar_text:    计算字符串相似度。
soundex:    计算字符串的读音值
sprintf:    将字符串格式化。
strchr:    寻找第一个出现的字符。
strcmp:    字符串比较。
strcspn:    不同字符串的长度。
strip_tags:    去掉 HTML 及 PHP 的标记。
StripSlashes:    去掉反斜线字符。
strlen:    取得字符串长度。
strrpos:    寻找字符串中某字符最后出现处。
strpos:    寻找字符串中某字符最先出现处。
strrchr:    取得某字符最后出现处起的字符串。
strrev:    颠倒字符串。
strspn:    找出某字符串落在另一字符串遮罩的数目。
strstr:    返回字符串中某字符串开始处至结束的字符串。
strtok:    切开字符串。
strtolower:    字符串全转为小写。
strtoupper:    字符串全转为大写。
str_replace:    字符串取代。
strtr:    转换某些字符。
substr:    取部份字符串。
trim:    截去字符串首尾的空格。
ucfirst:    将字符串第一个字符改大写。
ucwords:    将字符串每个字第一个字母改大写

htmlspecialchars

将特殊字符转成 HTML 格式。

语法: string htmlspecialchars(string string);

返回值: 字符串

函数种类: 资料处理

 

 
内容说明

本函数将特殊字符转成 HTML 的字符串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。

 

  • & (和) 转成 &amp;
  • " (双引号) 转成 &quot;
  • < (小于) 转成 &lt;
  • > (大于) 转成 &gt;

此函数只转换上面的特殊字符,并不会全部转换成 HTML 所定的 ASCII 转换。

 

 
使用范例

这是 aulbach@unter.franken.de (27-Jan-1999) 所提供的范例

<FORM ACTION=bla>
<H2>Restaurant Description<H2>
Name of restaurant:
<INPUT TYPE=text NAME="restname" VALUE="<?
     
echo HTMLSpecialChars($restname); ?>"> 
<!-- 变量 $restname 是酱子的 $restname=""The Whit
    PHP 扩展是用 C 或 C++ 编写的,需要编译成动态连接库 dll 文件后在 PHP 环境下注册后才能使用。
    编写 PHP 扩展的软件要求:
      VC++6.0 或 VC++.NET 环境。
      PHP 的源代码,需要编译。
    如果不愿意编译 PHP 的源代码,可以再下载 PHP 的已经编译成功的二进制代码(就是我们部署 PHP 运行环境的那些文件包)。注意分别下载的源文件包和已编译包,它们的版本必须一致。

    过程:

    1,安装 VC++6.0,并选择把其可执行文件路径加入环境变量中,使在命令行环境任意路径下可以运行编译器。
    2,安装 PHP 运行环境,并与 IIS 正确集成在一起。假设使用的 PHP 版本为 5.2.5,下载 php-5.2.5-Win32.zip 二进制包和 php-5.2.5.tar.gz 源代码包。安装环境为 C:php-5.2.5-Win32。分别把源代码包和二进制包解压到该文件夹下。从 php.ini-recommended 拷贝生成一个 php.ini 文件。
    3,建立 C:php-5.2.5-Win32Release_TS 文件夹,拷贝 C:php-5.2.5-Win32devphp5ts.lib 文件到这里。
    4,进入 C:php-5.2.5-Win32ext 文件夹,运行命令:
      C:php-5.2.5-Win32ext>..php.exe ext_skel_win32.php --extname=myphpext
      Creating directory myphpext
      Creating basic files: config.m4 config.w32 .cvsignore myphpext.c php_myphpext.h
      CREDITS EXPERIMENTAL tests/001.phpt myphpext.php [done].

      To use your new extension, you will have to execute the following steps:

      1.  $ cd ..
      2.  $ vi ext/myphpext/config.m4
      3.  $ ./buildconf
      4.  $ ./configure --[with|enable]-myphpext
      5.  $ make
      6.  $ ./php -f ext/myphpext/myphpext.php
      7.  $ vi ext/myphpext/myphpext.c
      8.  $ make

      Repeat steps 3-6 until you are satisfied with ext/myphpext/config.m4 and
      step 6 confirms that your module is compiled into PHP. Then, start writing
      code and repeat the last two steps as often as necessary.

[!--infotagslink--]

相关文章

  • JS跨浏览器解析XML应用过程详解

    这篇文章主要介绍了JS跨浏览器解析XML应用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-16
  • vivo X9如何查出后台偷跑流量应用?vivo X9查出后台偷跑流量应用的方法

    vivo X9如何查看后台流量偷跑的情况?小编教你轻松查到!还不了解的小伙伴快来看看吧! 1)打开手机自带的【i管家】应用,打开后点击【流量监控】选项。(如下图) 2)接着选...2016-12-31
  • PHP云存储Redis的应用场景与Redis实现排行榜功能

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。本文我们来讲解Redis的应用场景实例。 C...2016-11-25
  • Vue中keep-alive的两种应用方式

    这篇文章主要介绍了Vue中keep-alive的两种应用方式,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-15
  • PHP Libevent扩展安装配置及简单应用

    Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,下文我们就一起来看PHP Libevent扩展安装...2016-11-25
  • PHP explode()函数的几个应用和implode()函数有什么区别

    explode()函数介绍explode() 函数可以把字符串分割为数组。语法:explode(separator,string,limit)。 参数 描述 separator 必需。规定在哪里分割字符串。 string...2015-11-08
  • php中echo <<< 的应用

    <? $a="变量的值将被带入"; echo <<< help <pre> php中echo <<< 的应用 虽然echo "...";可以断行,但若其中如出现",则仍需做转义 处理。需写做: echo " ...2016-11-25
  • PHP-GTK 介绍及其应用

    1. PHP-GTK介绍 1.1 PHP-GTK PHP-GTK是PHP的延伸模组,它可以让程式设计师写出在客户端执行的、且独立的GUI的程式。这个模组不允许在浏览器上显视GTK+的程式,它一开始就...2016-11-25
  • 基于C++中sprintf的错误总结详解

    本篇文章是对C++中sprintf的错误进行了详细的分析介绍,需要的朋友参考下...2020-04-25
  • Eclipse对printf()不能输出到控制台的快速解决方法

    Eclipse对printf()不能输出到控制台的快速解决方法。需要的朋友可以过来参考下,希望对大家有所帮助...2020-04-25
  • ajax简单与ajax+php实例应用(1/4)

    [ajax介绍]   ajax是使用客户端脚本与web服务器交换数据的web应用开发方法。web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用ajax,用户可以创建接近本地...2016-11-25
  • css中Float属性深入剖析与应用

    这篇文章介绍了css中的float属性的应用和理解,让设置的标签产生浮动效果。希望能帮助到有需要的同学。 一、Float的特性 1. 应用于文字围绕图片 2. 创建一个块级框...2017-01-22
  • php ob_start() ob_end_flush()缓存技术简单应用

    本文章介绍了一个简单的关于php入门篇-缓存技术简单应用,有需要的朋友可以看看哦,这里是利用了ob_start(); ob_end_flush(); 来实例的。 代码如下 复制...2016-11-25
  • Android 应用包 apk 的内部结构详解

    Android应用程序会通过一个工具将应用所有的CLASS文件转换成一个DEX文件,而后Dalvik虚拟机会从其中读取指令和数据。 Android 是Google开发的基于Linux平台的开源手机操...2016-09-20
  • php中echo、print、print_r、printf、sprintf、var_dump用法介绍

    文章介绍了echo、print、print_r、printf、sprintf、var_dump,有需要了解的朋友可参考一下。 一、echo 定义和用法 PHP echo() 函数输出一个或多个字符串。 ech...2016-11-25
  • 时隔数日苹果又发布了iOS 10.2 Beta3:TV应用来了

    网易科技讯 11月14日消息,据美国媒体报道,当日苹果开始推出iOS 10.2 Beta3公开测试版,距离发布iOS 10.2 Beta2发布后仅数日。此外,苹果还推出数周前发布MacBook Pro时提到的TV应用,现在该应用有了Up Next功能。...2016-11-22
  • c#多线程的应用全面解析

    这篇文章主要介绍了c#多线程的应用,有需要的朋友可以参考一下...2020-06-25
  • 重新应用默认的安全设置 : 安全配置和分析

    安全配置和分析概述“安全配置和分析”是分析和配置本地系统安全性的一个工具。...2016-01-27
  • C/C++语言printf命令使用方法

    在本篇文章里小编给大家分享了关于C/C++语言printf命令使用方法和步骤,对此有需要的朋友们学习下。...2020-04-25
  • NodeJS创建基础应用并应用模板引擎

    这篇文章主要介绍了NodeJS创建基础应用并应用模板引擎的相关资料,需要的朋友可以参考下...2016-04-16