- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运算与赋值
运算
计算机之所以称为计算机,因为它的长处就是计算,通过强大的CPU的运算功能,可以在瞬间完成数以万计的加减乘除运算指令而不会出现任何的错误和偏差
所以,使用PHP不仅仅只能保存和显示变量里的数据,更多的情况下,我们需要使用PHP来进行各种运算
运算符
PHP中有丰富的运算符集,它们中大部分直接来自于C语言。按照不同功能区分,运算符可以分为
算术运算符
字符串运算符
赋值运算符
位运算符
条件运算符
逻辑运算符
当各种运算符同在一个表达式中时,它们的运算是有一定的优先级的,下面将详细介绍。
算数运算符
运算符
功能
+
加法运算
-
减法运算
*
乘法运算
/
除法运算
%
求余运算
++
递增运算(加1)
--
递减运算(减1)
简单的说就是我们平时常用的加减乘除运算,我们下面会重点介绍一下浮点数加减的问题,%的使用场合,以及++和—的使用
浮点数的秘密
下面是一个简单的减法运算,大家觉得结果是多少?
0.069999999999999
不是PHP不识数,任何语言包括JAVA都会遇到这样的问题
你看似有穷的小数,在计算机的二进制表示里却是无穷的
$x?=?8.03;$y?=?7.96;echo?$x?-?$y;
揭秘
我们不是来学习数学的,不用了解如何将十进制的小数转换为二进制小数的算法,实际上告诉大家
8.03在计算机中真正保存的数值是8.0296875……
7.96在计算机中真正保存的数值是7.953125……
显然,这样的数值进行加减运算,肯定是无法得到一个有穷的数值的
number_format
使用number_format,我们可以将一个小数的小数点后的位数保留到指定的值
string?number_format?(?float?$number?[,?int?$decimals?= 0?] )
将浮点数作为第一个参数传递,第二个参数设置小数点后保留的位数
echo?number_format($x?-?$y,?2);?//?结果为0.07
取余操作%
假设,我们有42篇文章,我们打算一页显示10篇,则从数学方面来分析,最后一页显示几篇文章?
整数商为4
余数 = 42 – 4*10 = 2
相当于PHP的计算
42 % 10 = 2
递增和递减
$var--;
相当于执行
$var?=?$var?-?1;
同理,$var++相当于执行
$var?=?$var?+?1;
递增和递减
单个变量直接执行递增或者递减,不论符号放在左侧还是右侧都没有差别。
$var = 10;
$var--; // 或者 --$var
echo $var; // 结果都是9
但是,作为PHP的一个特殊性,如果操作符在赋值语句右侧的话,需要区分前后顺序
$var = 10;
$output = $var--; // 或者 $output = --$var;
echo $output; // 两个结果一个是10另一个是9
$output = $var--;相当于先将$var赋值给$output再执行递减运算
字符串运算符
PHP的字符串运算符只有一个,就是我们常说的连字符.(一个英文的点号),使用它我们可以将几段文字连接在一起显示
$str?=?i;? ? ?echo?$str?.?phone;?//?输出iphoneecho?$str?.?123;?//?输出i123$str2?=?pad;echo?$str?.?$str2;?//?输出ipad
连字符的问题
连字符的大量使用,会导致文本难以阅读,代码凌乱,推荐使用格式化输出,假设有两个变量$num和$loc,分别表示数量和地点
$num?=?5;$loc?=?树;
如果直接用连字符输出下面的文字
echo?$loc?.?上有?.?$num?.?只猴子;
sprintf
string?sprintf?(?string?$format?[,?mixed?$args?[,?mixed?$...?]] )
上面的代码很难看出来要显示的是什么文字,使用sprintf函数来代替
$format?=?%s上有%d只猴子;echo?sprintf($format,?$loc,?$num);
sprintf的类型符号
b 二进制数
o 八进制数
x 十六进制数(X大写)
d 整数
f 小数
s 字符串
%是必不可少的
sprintf技巧
修改参数顺序
echo?sprintf(%s?is?%d?years?old,?andy,?20);
echo?sprintf(%2$s?is?%1$d?years?old,?20,?andy);
空白符(PHP默认支持空格和0作为空白符)
echo?sprintf(%4s,?a);
echo?sprintf(%04s,?a);
ec
文档评论(0)