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 文件类型判断代码
Mar 13 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
discuz程序的PHP加密函数原理分析
Aug 05 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
php页码形式分页函数支持静态化地址及ajax分页
Mar 28 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 PHP
PHP设计模式(观察者模式)
Jul 07 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
再说下636单管机
2021/03/02 无线电
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
详解Python打包分发工具setuptools
2019/08/05 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
wxPython实现整点报时
2019/11/18 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
2014年关工委工作总结
2014/11/17 职场文书
现役军人家属慰问信
2015/03/24 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
幼儿园开学通知
2015/04/24 职场文书
检察院起诉意见书
2015/05/20 职场文书
中学团支部工作总结
2015/08/13 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
Nginx+Tomcat实现负载均衡、动静分离的原理解析
2021/03/31 Servers
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL
MySQL数据管理操作示例讲解
2022/12/24 MySQL