热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHPsprintf()函数使用方法详解_PHP教程

PHPsprintf()函数使用方法详解。我们知道sprintf()函数把格式化的字符串写写入一个变量中,我们经常会看到这类代码了,下面我来介绍sprintf()函数使用方法,有需要的朋友
我们知道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 '


';


?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628892.htmlTechArticle我们知道sprintf() 函数把格式化的字符串写写入一个变量中,我们经常会看到这类代码了,下面我来介绍sprintf() 函数使用方法,有需要的朋友...


推荐阅读
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 如何高效渲染JSON数据
    本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
  • 本文详细介绍了五种常用的PHP排序算法——冒泡排序、选择排序、插入排序、希尔排序和堆排序。每种算法都附有代码示例,并通过打印和延时操作来直观展示排序过程。欢迎指出任何错误。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • JavaScript 页面卸载事件详解 (onunload)
    当用户从页面离开时(如关闭页面或刷新页面),会触发 onunload 事件,此时可以执行预设的脚本。需要注意的是,不同的浏览器对 onunload 事件的支持程度可能有所不同。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
author-avatar
骨头少校_726
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有