第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. Android 屏幕尺寸知识

    转自:http://www.zcool.com.cn/article/ZNjI3NDQ=.html 1.了解几个概念 (1)分辨率.分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏 ...

  2. (Problem 29)Distinct powers

    Consider all integer combinations ofabfor 2a5 and 2b5: 22=4, 23=8, 24=16, 25=32 32=9, 33=27, 34=81, ...

  3. struts2 DMI问题

    最新开始学习struts2,在官网上下载的最新的struts2(2.3.15.2), jar包,在使用动态方法调用的时候老是报错,错误代码如下HTTP Status 404 - There is no ...

  4. VC6集成开发环境使用参考

    VC6集成开发环境使用参考 1.VC6的常用菜单命令项 (1)File菜单 New:打开“new”对话框,以便创建新的文件.工程或工作区. Close Workspace:关闭与工作区相关的所有窗口. ...

  5. QT图片旋转

    目前发现有两种方法,如下: 1.使用QPixmap的transformed函数旋转,这个函数默认是以图片中心为旋转点,不能随意设置旋转点,使用如下: QMatrix leftmatrix; leftm ...

  6. 关于R.styleable的问题

    原来想直接想调用程序的东西,但是使用R.styleable的时候 eclipse不能解析了,后来发现原来被删除了此方法 public ImageAdapter(Context c) { mContex ...

  7. spring的定时执行代码 跑批

    最近公司上线了抽奖的活动,活动需求 1:每天凌晨更新状态,实现自动开启和关闭活动 2:活动结束自动抽取中奖号码 在这里提供spring的定时调度功能 1:首先是配置文件 在你的web.xml中,查看配 ...

  8. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  9. 搜狐畅游:每月给员工直系长辈2000元爱孝薪_企业新闻_265G产业频道

    搜狐畅游:每月给员工直系长辈2000元爱孝薪_企业新闻_265G产业频道 搜狐畅游:每月给员工直系长辈2000元爱孝薪

  10. gpg-agent具体配置

    gpg(gnupg)工具使用很广泛,在前面一篇文章中就具体介绍:http://blog.csdn.net/dongtingzhizi/article/details/26362205,有一个问题值得关 ...