第4章 数学运算

学习要点:

1.数值数据类型

2.随机数

3.格式化数据

4.数学函数

在大多数程序设计语言中,数值运算都是最基本的元素之一。数值运算允许程序员完成加法到高级计算等各种操作。尽管PHP只是设计为用于创建动态HTML文档,但如今它已经发展成为一门通用的编程语言,包括了一个强大而灵活的数学实现。

一.数值数据类型

PHP中,数字或数值数据以及数学函数的使用很简单。基本来说,要处理两种数据类型:浮点数和整数。浮点数和整数值的内部表示分别是C数据类型double和int。类似于C,PHP中这些数据类型遵循同样的一组规则。

PHP是一种松散类型的脚本语言,变量可以根据计算的需求改变数据类型。这就允许引擎动态地完成类型转换。所以,如果计算中包含数值和字符串,字符串会在完成计算之前转换为数值,而数值则会在与字符串连接之前转换为字符串。

<?php

$a = '5';

$b = 7 + $a;

echo "7 + $a = $b";

?>

PHP提供了大量函数来检查变量的数据类型。其中有3个函数可以检查变量是否包含一个数字值,或更具体地,可以检查变量是一个浮点数还是一个整数。

函数is_numeric()可以检查作为参数传入的值是否是数值。

函数is_int()和is_float()用于检查具体的数据类型。如果传入一个整数或浮点数,这些函数会返回true,否则返回false,即使传入一个有合法数值表示的字符串也会返回false。

也可以强制引擎改变数据类型。这称之为类型强制转换,可以在变量或值前面增加(int)、(integer)、(float)、(double)或(real)实现,也可以通过使用函数intval()或floatval()来实现。

二.随机数

随机数本身就是一门科学。已经有很多不同的随机数生成器实现。PHP实现了其中两种:rand()和mt_rand()。rand()函数是libc(构建PHP所用编译器提供的基本库之一)中定义的随机函数的一个简单包装器。mt_rand()是一个很好的替代实现,提供了很多精心设计的特性,而且mt_rand()甚至比libc中的版本还要快。

两个函数都提供一些函数来得到MAX_RAND的值。rand()的是getrandmax(),mt_rand()的是mt_getrandmax();

三.格式化数据

除了警告、错误等信息外,PHP的大部分输出都是利用echo、print()和printf()之类的函数生成的。这些函数将参数转换成一个字符串,并发给客户端应用程序。

number_format()函数可以把整数和浮点数值转换为一种可读的字符串表示。

<?php

$i = 123456;

$si = number_format($i,2,".",",");

echo $si;

?>

四.数学函数

abs() 绝对值

floor() 舍去法取整
ceil() 进一法取整

round() 四舍五入

min() 求最小值或数组中最小值

max() 求最大值数组中最大值

PS:过一遍手册函数库

PHP - 数学运算的更多相关文章

  1. Java学习笔记 06 数字格式化及数学运算

    一.数字格式化 DecimalFormat类 >>DecimalFormat是NumberFormat的子类,用于格式化十进制数,可以将一些数字格式化为整数.浮点数.百分数等.通过使用该类 ...

  2. 从零开始学习Node.js例子四 多页面实现数学运算 续二(client端和server端)

    1.server端 支持数学运算的服务器,服务器的返回结果用json对象表示. math-server.js //通过监听3000端口使其作为Math Wizard的后台程序 var math = r ...

  3. Linux shell 变量 数学 运算

    Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...

  4. 认真学习shell的第一天-数学运算

    shell中的数学运算有三种方式: (1)let,用let的时候,变量名称前不用添加$ (2)[],[]中变量可使用也可不使用$ (3)(())变量名之前必须添加$

  5. 6 让我们的C#程序开始做点数学运算

    请相信我你只需要懂得最基本的数学运算,就可以从事大多数的软件项目的开发工作.千万不要一提编程,就让数学把你吓跑了.大多数的程序开发人员从事的编程工作是应用系统的开发.这些系统的绝大多数功能,只需要最基 ...

  6. shell编程之数学运算

    shell数学运算支持整数运算的四种方法 1.let命令 no1=4; no2=5; let result=no1+no2 2.[]操作符 result=$[ no1 + no2] 3.(())操作符 ...

  7. 玩转变量、环境变量以及数学运算(shell)

    变量和环境变量    var=value  给变量赋值,输出语句:$ echo $var或者是$ echo ${var},记住中间有个空格 例如:name="coffee" age ...

  8. css3 calc():css简单的数学运算-加减乘除

    css3 calc():css简单的数学运算–加减乘除 多好的东西啊,不用js,一个css就解决了. .box{ border:1px solid #ddd; width:calc(100% - 10 ...

  9. Linux Shell 数学运算

    Linux Shell 数学运算 在Linux中直接使用数学运算符进行数学运算往往得不到我们想要的计算结果.要在Shell中进行数学运算,我们需要借助点小手段.目前,Linux Shell中进行数学运 ...

  10. 在终端(Terminal)里用命令行进行数学运算

    有时候我们进行一些数学运算,我们会去开系统自带的计算来做这件事情,其实我们也可以直接在终端里面用命令行进行的. 在命令行里敲 bc 进入数学计算模式,然后随便输入数学表达式 回车 ,结果就出来了,是不 ...

随机推荐

  1. linux安装LNMP的资源

    wget http://nginx.org/download/nginx-0.7.69.tar.gz wget http://museum.php.net/php5/php-5.2.10.tar.gz ...

  2. Python学习之路——socket

    一.Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信. socket服务端示例: import socke ...

  3. ASP.NET JQuery 随笔-搜索框默认提示

    一.文本框中创建默认文本提示 通常用户在搜索内容时,在文本框输入内容前,文本框都会给出默认提示,提示用户输入正确的内容进行搜索. 当文本框获得焦点,如果文本框内容跟提示内容一样,提示内容会自然消失. ...

  4. 用Xamarin 实现园友的 :Android浮动小球与开机自启动

    原文:用Xamarin 实现园友的 :Android浮动小球与开机自启动 前两天看园子里有筒子写了个 Android浮动小球与开机自启动  , 感觉这种被 360 玩烂的功能原来是如此的简单啊... ...

  5. js获取控件位置

    //获取坐标位置 function getpos(e) { var t=e.offsetTop; var l=e.offsetLeft; var height=e.offsetHeight; whil ...

  6. leetcode第一刷_Set Matrix Zeroes

    这个题乍一看非常easy,实际上还挺有技巧的.我最開始的想法是找一个特殊值标记.遇到一个0,把他所相应的行列中非零的元素标记成这个特殊值.0值保持不变,然后再从头遍历一次,碰到特殊值就转化成0. 问题 ...

  7. android一个弹出菜单的动画(二)

    假设做一个弹出的控件,我们能够进行加入view: 写class SatelliteMenu extends FrameLayout private void init(Context context, ...

  8. javascript特效:会随着鼠标而动的眼睛

    这个特效非常简单,其中眼球和眼珠都是特定的图片.只要掌握好距离坐标就没问题.我就直接贴代码,有兴趣的朋友可以自己复制下来运行一下,下面的眼睛图像就是我的文件用到的图像,比较难看..我就把我的代码贴出来 ...

  9. c++子类和父类成员函数重名

    子类和父类返回值参数相同,函数名相同,有virtual关键字,则由对象的类型决定调用哪个函数. 子类和父类只要函数名相同,没有virtual关键字,则子类的对象没有办法调用到父类的同名函数,父类的同名 ...

  10. Hibernate MySQL 数据库 使用别名 报 Column * Not Found

    使用Hibernate 查询MySQL数据表的时候报 Column Not Found ,原因是MySQL的驱动不支持别名, 解决方案如下,在连接参数中加上 useOldAliasMetadataBe ...