PHP数学运算与数据处理实例分析


Posted in PHP onApril 01, 2016

本文实例讲述了PHP数学运算与数据处理方法。分享给大家供大家参考,具体如下:

一.数值数据类型

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() 求最大值数组中最大值

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一棵php的类树(支持无限分类)
Oct 09 PHP
php 使用post,get的一种简洁方式
Apr 25 PHP
使用VisualStudio开发php的图文设置方法
Aug 21 PHP
php simplexmlElement操作xml的命名空间实现代码
Jan 04 PHP
PHP漏洞全解(详细介绍)
Nov 13 PHP
php中的常用魔术方法总结
Aug 02 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
Oct 15 PHP
CentOS下PHP安装Oracle扩展
Feb 15 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
Mar 29 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
php redis setnx分布式锁简单原理解析
Oct 23 PHP
PHP数学运算函数大汇总(经典值得收藏)
Apr 01 #PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 #PHP
php获取本机真实IP地址实例代码
Mar 31 #PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 #PHP
php中使用GD库做验证码
Mar 31 #PHP
php实现搜索类封装示例
Mar 31 #PHP
PHP-FPM实现性能优化
Mar 31 #PHP
You might like
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
javascript打印html内容功能的方法示例
2013/11/28 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
JavaScript检查数字是否为整数或浮点数的方法
2015/06/09 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
Python实现微信小程序支付功能
2019/07/25 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
英文版餐饮运营管理求职信
2013/11/06 职场文书
翻译专业应届生求职信
2013/11/23 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript