PHP学习之输出字符串(echo,print,printf,printr和vardump)
1. echo
echo 是PHP的一个关键字,它没有返回值。在写法上,它可以省略小括号。如下代码:
echo('Test String');
2. print
print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有。在写法上,它和echo一样,可以省略小括号。如下代码:
print('Test String');
3. printf
printf可以像C语言的printf一样,格式化输出一个字符串。它的格式和C语言差不多,都是以%开头。其说明符定义如下。
b 参数为整数,显示其二进制
c 参数为整数,显示对应ASCII字符
d 参数为整数,显示其十进制
f 参数为双精度,显示为浮点数
e 参数为双精度,显示为科学计数型
g 参数为双精度,显示为浮点数或科学计数型
o 参数为整数,显示其八进制
s 参数为字符串,显示为字符串
u 参数为无符号整数,显示其十进制
x/X 参数为整数,显示其十六进制(分别为大小写显示)
% 输出%要说明的是:
f,e默认小数点后六位,g在超过六位(加小数点)时,会四舍五入,如果四舍五入之后的值小于1000000会直接输出,大于的1000000的话会显示成科学计数型。f在值大于1.2e23输出的结果是不对的。
以上除%以外,其它的都可以指定输出总位数(小数点、E都算一位),并可以指定0或空格为补位符,还可以指定补位在左还是在右。
f,e可以指定小数点后位数。
如 %5d 表示输出总位数为5,不足左补空格; %05d 表示输出总位数为5,不足左补0; %05.1f 表示输出总位数为5,不足左补0,小数点后1位; %-05.1f 表示输出总位数为5,不足右补0,小数点后1位;
示例代码:
printf("%-07.2f", 1.2); // "1.20000"
4. sprintf
sprintf和格式转换和printf一样,两者区别在于printf直接输出,而sprintf返回一个格式化后的字符串。
5. print_r和var_dump
print_r和var_dump都能输出数组和对象,但print_r对布尔型的输出不太明显;var_dump输出比较详细,一般调试时用得多。
如下代码:
print_r($v);
var_dump($v);
class test {
public $num = 1;
public $str = "222";
public $bln = true;
结果为:
(
[num] => 1
[str] => 222
[bool] => 1
)
object(test)#1 (3) {
["num"]=>
int(1)
["str"]=>
string(3) "222"
["bool"]=>
bool(true)
}
参考资料:
PHP程序设计,2003,第四章 字符串,输出字符串
php学习之数据类型之间的转换代码
/*数据类型之间相互转换
* 一种是强制转换
* setType(变量,类型); //int,integer,float,double等等。
* 这个函数将原变量的类型改变,用var_dump();可以查看变量
*
* 在赋值前使用(类型)的形式,不会改变原变量的类型
* $a=(int)"123abc";
*
* $变量=intval(变量或值);
* $变量=floatval(变量或值);
* $变量=stringval(变量或值);
*
* 注意:整型在内存中占4个字节 2.147e9
* 浮点型在内存中占8个字节
*
*
* 一种是自动转换(最常用方式),变量会更具运行环境自动转换
* 与变量和类型有关的一些常用函数
* isset();//判断一个变量是否存在,值如果是null也表示空。
* empty();//判断一个变量是否为空 "",null
* unset();//删除一个变量
* setType();//设置一个变量类型
* getType();//获取一个变量类型 var_dump();获取类型和值
*
* 变量类型测试函数
* is_bool();//判断是否为布尔型
* is_int() is_integer() is_long()//判断是否是整型
* is_float(), is_double() is_real()//...
* is_array()
* is_object()
* is_resource()
* is_null()
* is_scalar()//判断是否是标量
* is_numberic()//判断是否是任何一种数字,或数字字符串
* is_callable()//判断是否是有效的函数名
* 常量的声明与使用
* 1.常量是一个简单值的标识符
* 2.常量定义后不能再改变它的值,也不能使用unset()或其他的函数取消
* 3.常量可以不用理会变量范围的规则而在任何地方都可以定义和访问
* 4.常量使用define("常量名",值);
* 5.常量名在声明和使用时都不使用"$"
* 6.常量名称习惯都使用大写
* 7.常量的值只能用标量类型(int,float,bool,string)
* 8.常量一定要在声明时就给值
* 9.defined("常量");//判断常量是否存在
*
* 预定义常量和魔术常量
* echo __FILE__;//输出当前文件名称目录_魔术常量
* echo CASE_LOWER;//输出固定的值_预定义常量
*
*/
//这个函数将原变量的类型改变,用var_dump();可以查看变量
$str="100.12345abc";
setType($str,int);
var_dump($str);
//在赋值前使用(类型)的形式
$str="100.12345abc";
$a=(int)$str;
var_dump($a);//输出int(100)
var_dump($str);//输出值不变,"100.12345abc"
//如果字符串不是以数字开头,则转换成0
//不同类型运算
$a=10;
$b="100abc";
$c=true;
$d=12.34;
$sum=$a+$c;//布尔型自动转换成1,结果为11
$sum=$a+$b;//结果为110
$sum=$a+$b+$c;//结果为111
$sum=$a+$b+$c+$d;//结果为123.34,因为浮点型内存空间大,小内存转大内存。
//判断是否是数组
$a=array("one","two",1,3,6,8);
if(is_array($a)){
print_r($a);//打印数组
}else{
echo $a;
}
//定义常量,使用常量
define("home","this is a home");
$a=100;
function demo()
{
global $a;//因为$a是全局变量所以要用全局标记调用
echo $a;
echo home;//常量可以不用理会范围,直接访问或者定义
}
demo();
//判断常量是否存在
if(defined("home")
{
echo home;
}
else
{
define("home","this is a home");
}
PHP学习之输出字符串(echo,print,printf,printr和vardump)的更多相关文章
- PHP中输出字符串(echo,print,printf,print_r和var_dump)的区别【转载】
php中常见的输出语句 echo()可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. prin ...
- php输出语句 echo print printf print_r var_dump sprintf
php的几种输出方式: echo 常用的输出语句,例如:echo 'helloworld!'; print() 输出语句,有返回值.例如:print('helloworld!'); 输出成功返回1,失 ...
- echo() print() printf() print_r() 的区别
echo是一个语言结构而非函数,因此它无法被变量函数调用, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值(如int ...
- [转]PHP echo, print, printf, sprintf函数的区别和使用
1. echo函数: 输出函数,是命令,不能返回值.echo后面可以跟很多个参数,之间用分号隔开,如: echo $myvar1; echo 1,2,$myvar,"<b>bol ...
- PHP echo, print, printf, sprintf函数的区别和使用
1. echo函数: 输出函数,是命令,不能返回值.echo后面可以跟很多个参数,之间用分号隔开,如: echo $myvar1; echo 1,2,$myvar,"<b>bol ...
- PHP基础温习之echo print printf sprintf print_r var_dump的用法与区别
一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不 ...
- PHP字符串函数之 sscanf echo print sprintf vsprintf printf vprintf fprintf vfprintf
sscanf – 根据指定格式解析输入的字符 echo – 输出一个或多个字符串 print – 输出字符串 sprintf – 返回格式化字符串 vsprintf – 返回格式化字符串 (参数为数组 ...
- php中echo(),print(),print_r()用法
原文 php中echo(),print(),print_r()用法 从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但p ...
- PHP中的输出:echo、print、printf、sprintf、print_r和var_dump
大家在面试中,经常会被问到的问题: 请简要说明PHP的打印方式都有哪些? 或者直接点问: 请说明echo.print.print_r的区别 看着很简单,一般会出现在初中级的笔试题中.但是要真正说明白这 ...
随机推荐
- POJ3006-Dirichlet's Theorem on Arithmetic Progressions
题意: 设一个等差数列,首元素为a,公差为d 现在要求输入a,d,n ,要求找出属于该等差数列中的第n个素数并输出 思路:空间换时间是个主旋律.素数表的生成用素数筛选法.方法是从2开始,对每个目前还标 ...
- bootstrap表格插件——Bootstrap-Table
注:本文引用自:http://www.cnblogs.com/wuhuacong/p/7284420.html 一.概述 1.是什么 是一个基于bootstrap的灌数据式的表格插件 2.能干什么 可 ...
- 20155203 实验二《Java面向对象程序设计》实验报告
20155203 实验二<Java面向对象程序设计>实验报告 一.实验内容 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTE ...
- 20145209 实验二 《Java面向对象程序设计》 实验报告
20145209 实验二 <Java面向对象程序设计> 实验报告 实验内容 1.初步掌握单元测试和TDD. 2.理解并掌握面向对象三要素:封装.继承.多态. 3.初步掌握UML建模. 4. ...
- 【LG3320】[SDOI2015]寻宝游戏
[LG3320][SDOI2015]寻宝游戏 题面 洛谷 题解 不需要建虚树的虚树2333... 贪心地想一下,起始节点肯定是在关键点上,访问顺序就是\(dfs\)序. 那么对于每次询问, \[ An ...
- [BJOI2017]树的难题 点分治,线段树合并
[BJOI2017]树的难题 LG传送门 点分治+线段树合并. 我不会写单调队列,所以就写了好写的线段树. 考虑对于每一个分治中心,把出边按颜色排序,这样就能把颜色相同的子树放在一起处理.用一棵动态开 ...
- Swing 解决 idea 找不到创建gui form的问题
果然,寄希望于百度google不如自己动手,还是得吃透文档, 然后就是对于别人的博客要严格对照步骤来,否则都容易达不到效果 这边gui form在idea下找不到创建,百度google一个说的也没有, ...
- web中简单wcf的创建和应用
以前做过wcf控制台作为宿主,今天回顾一下,不过公司用的web直接创建就把这种过程写下来. 第一步:创建wcf页面如图 第二步:创建wcf时候已经自动生成了接口(契约)和实现类(契约),但是我们可以修 ...
- 一、EnterpriseFrameWork框架总体介绍
EnterpriseFrameWork框架是自己在工作之余的得意之作,经过了几年时间的不断重构,现在终于有了现在的样子:刚开始只是为了方便开发WEB系统,随着项目越做越多,新的功能也就不断补充进去,补 ...
- InTelliJ 字体调整
Java IDE 工具InTelliJ 调整字体大小 1.File -> Settings 2.左上的搜索框中输入 font. 等待自动查找结果. 3.修改size 大小