PHP中类型转换 ,常量,系统常量,魔术常量的详解


Posted in PHP onOctober 26, 2017

PHP中类型转换 ,常量,系统常量,魔术常量的详解

1.自动类型转换;

在运算和判断时,会进行自动类型转换;
1)其他类型转为bool,判断时转换;
  1)整型转布尔型:0转false,非0转为true;
  2) 空字符串和‘0'(“0”)转为false,其他转为true;
  3) 空数组转为false, 非空数组则转为true;
  4) null转为false
  5) 资源打开不成功为false 
    是0或空,打开不成功的转为‘false','0';
2)其他类型转为字符串(字符串拼接);
  null bool int float
  1) null转换为空串(空串不显示)
  2)整数直接转换为对应字符串 5=>'5';
  3)实数直接转换为对应的字符串,但尾0不转(实数小数点最后的0);
  4)true转换为'1‘,false转为空串;
字符串、布尔、整型、浮点、null
3) 运算时发生的类型转换
  1)true/false转换1/0;
  2)null转换为0;
  3)字符串开头的部分的数值换为对应数值;
  4)字符串开头没数值则直接转为0;
  (null,string,bool) < int < float

2、强制类型转化

就是手动的把一个类型的值转换为另一个类型的值;
  1、类型转化函数 intval ,strval, floatval
    $num1 = 1.2;
    $num2 = strval($num1); //吧$num1的值转换为字符串;
    var_dump($num1); 
    var_dump($num2); 
  2、(类型)$变量  不能转为resource
    $num2 = (unset)$num2;转为空
  3、settype(变量,类型) 类型必须写成字符串;
    改变变量的类型和值;
  注意事项
    1)浮点数转整数,直接干掉小数;
    2) echo(int)($num1 + 0.5); 四舍五入

3、常量

1)常量定义
  define(常量名,常量值)
  define(‘SONG',22);
注意:
  1)常量名是字符串;
  2)常量值必须是标量
  3)常量名一般大写,和变量做区别;
  4)常量名和变量名,命名规则相同;
2)系统常量
  __LINE__ 当前行号
  __FILE__ 当前文件的名称
  __DIR__ 当前文件的目录;
  PHP_OS  操作系统
  PHP_VERSION php的版本

魔术常量:
__FUNCTION__ 函数名
__FUNCTION__函数名;
__CLASS__ 类名
__CLASS__ 类名
__METHOD__方法名
__METHOD__方法民
__NAMESPACE__ :名空间
__NAMESPACE__ 名空间;
3)常量判断
  defined(常量名) 常量名必须是字符串;
  判断是否定义过常量;

4.运算符和表达式;

1)算数运算符 + - (乘法) /(除法) % .
%求模/取余
0 % 3 = 0
12 % 10 = 2
5 % 19 = 4
1 % 3 = 1;
2 % 3 = 2;
3 % 3 = 0;
-9 % 4 = -1
9 % -4 = 1;
模运算的结果的符号取决于第一个数。
判断奇偶
X%2 == 0 为偶数,能整除
X%2 != 0 则为奇数,不能整除
2 * 3 = 8
指数运算;
2 3 = 8;
3 2 = 9;

如有疑问请留言或到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
php radio 单选框获取与保持值的实现代码
May 15 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
PHP正确配置mysql(apache环境)
Aug 28 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
PHP读取Excel类文件
May 15 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
利用php获得flv视频长度的实例代码
Oct 26 #PHP
PHP 中魔术常量的实例详解
Oct 26 #PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 #PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 #PHP
PHP中的浅复制与深复制的实例详解
Oct 26 #PHP
thinkPHP5实现数据库添加内容的方法
Oct 25 #PHP
thinkPHP5分页功能实现方法分析
Oct 25 #PHP
You might like
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
js登录弹出层特效
2014/03/07 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
python正则表达式之作业计算器
2016/03/18 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
python实现字符串和数字拼接
2020/03/02 Python
python可以用哪些数据库
2020/06/22 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
村级环境卫生整治方案
2014/05/04 职场文书
大学生党员承诺书
2014/05/20 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
详解Django中 render() 函数的使用方法
2021/04/22 Python
python批量创建变量并赋值操作
2021/06/03 Python