PHP中类型转换 ,常量,系统常量,魔术常量的详解
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 标签遵循同样的命名规则.合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线.用正则表达式是这样表达的: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* (注: 在这里,字母是 a-z,A-Z,以及从 127 到 255(0x7f-0xff)的
-
PHP的魔术常量__METHOD__简介
__METHOD__ 是PHP5之后新增的魔术常量,表示的是类文法的名称.魔术常量是一种PHP预定义常量,它的值可以是变化的,PHP中的其它已经存在的魔术常量有__LINE__.__FILE__.__FUNCTION__.__CLASS__等. 下面就用一小段代码来演示一下__METHOD__的用法. <?php class chhua{ function test(){ echo __METHOD__; } } $e=new chhua(); $e->test();//输出:chhua::t
-
php的常量和变量实例详解
php的常量和变量实例详解 [PHP在命令行下接收参数] 如果在命令行调试php,传入的参数通过$argv获取,注意其中包含了文件名这一个元素,数组中元素的个数通过$argc获取. [可变变量] 指的是变量的名称可变,变量的标识符可以由另一个变量的值来代替. 例如:第二个语句是为argv1这个变量赋值. <?php $varName = 'argv1'; $$varName = 'value1'; var_dump($argv1); ?> [常量] 使用define定义,不可删除和修改,调用时
-
PHP 中常量的知识整理
PHP中的常量分为自定义常量和系统常量 常量特点: 在设定以后,常量的值无法更改 常量名不需要开头的美元符号 ($) 作用域不影响对常量的访问 常量值只能是字符串或数字 获取常量的值: 使用常量名直接获取值: 使用 ==constant()== 函数,它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活.方便. defined() 函数:判断一个常量是否已经定义 define("PI",3.14); $is1 = defined('PI'); $is2
-
php 魔术常量详解及实例代码
php 魔术常量详解 实例: class MoShu{ public function moshu() { echo '当前类名:' . __CLASS__ . "<br />"; echo '当前方法名:' . __FUNCTION__ . "<br />"; echo '当前文件中所在的行数:' . __LINE__ . "<br />"; echo '当前文件绝对路径:' . __FILE__ . &qu
-
PHP 中魔术常量的实例详解
PHP 中魔术常量的实例详解 本文介绍下,php编程中的魔术常量,掌握并灵活应用这些方法与常量,对于提高php的编程水平,有很大的帮助.有需要的朋友参考学习下. 魔术常量: namespace ns1; class Test { function __construct() { var_dump(__LINE__); var_dump(__FILE__); var_dump(__DIR__); var_dump(__FUNCTION__); var_dump(__CLASS__); var_du
-
php魔法函数与魔法常量使用介绍
php 魔术函数 1.__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用. 2.__destruct() 当删除一个对象或对象操作终止时被调用. 3.__call() 对象调用某个方法, 若方法存在,则直接调用: 若不存在,则会去调用__call函数. 4.__get() 读取一个对象的属性时, 若属性存在,则直接返回属性值: 若不存在,则会调用__get函数. 5.__set() 设置一个对
-
MySQL中增删改查操作与常见陷阱详解
目录 本文导读 一.MySQL的增删改查 1.insert语句 2.delete语句 3.update语句原理 4.select 二.15种MySQL数据操作语句 1.REPLACE语句 2.CALL语句 3.TABLE语句 4.WITH语句 三.MySQL查询陷阱 总结 本文导读 本文作为MySQL系列第二篇文章,详细讲解了MySQL的增删改查的语句.语义和一些我们经常在开发工作中暴露的问题,MySQL的增删改查又叫数据操作语句,本文有讲些了一些常用的数据操作语句,select语句后续将作为一
-
java中的抽象类和接口定义与用法详解
目录 一.抽象类 1.什么叫抽象类? 2.抽象类的特点: 3.成员特点: 二.接口 1.接口是什么? 2.接口的特点 3.接口的组成成员 4.类与抽象的关系: 5.抽象类与接口的区别: 一.抽象类 1.什么叫抽象类? 例如在生活中我们都把狗和猫归为动物着一类中,但当只说动物时,我们是不知道是猫还是狗还是其他的.所以动物就是所谓的抽象类,猫和狗则是具体的类了.因此在Java中,一个没有方法体的方法应该定义为抽象类,而类中有抽象方法,则必须为抽象类. 2.抽象类的特点: 抽象类与抽象方法必须用abs
-
Python中非常实用的Math模块函数教程详解
目录 math模块常数 1. 圆周率 2. Tau (τ) 3. 欧拉数 4. 无限 5. 不是数字 算术函数 1. factorial() 2. ceil() 3. floor() 4. trunc() 5. isclose() 幂函数 1. exp() 2. 对数函数 其他重要的math模块功能 由于该math模块与 Python 版本一起打包,因此您不必单独安装它,直接导入: import math math模块常数 Pythonmath模块提供了多种预定义常量.访问这些常量提供了几个优点
-
Python在信息学竞赛中的运用及Python的基本用法(详解)
前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在<算法竞赛入门经典-训练指南>中所说的一样,如果会用Python,在进行一些小程序的编写,如数据生成器时将会非常方便,它的语法决定了其简约性.本文主要介绍一下简单的Python用法,不会深入. Python的安装和实用 Linux(以Ubuntu系统为例) 一般的Linux都自带了Python,在命令行中输入Python即可进入 如果没有出现上图的文字,可以使
-
Android Studio 3.6中新的视图绑定工具ViewBinding 用法详解
前言 我们在Android开发的过程中总是需要获取XML布局中的ViewId,以便给其赋值进行显示,早期我们只能使用 findViewById 这个API,会导致很多的模版代码出现.2013年左右Android界大神 Jake Wharton开源了Butter Knife框架,通过Bind("viewid")方式方便开发者获取ViewId.近两年由于谷歌对Kotlin的支持,我们开始使用 Android Kotlin extensions. 在文件中导入布局文件直接引用viewId.无
-
thinkphp中的多表关联查询的实例详解
thinkphp中的多表关联查询的实例详解 在进行后端管理系统的编程的时候一般会使用框架来进行页面的快速搭建,我最近使用比较多的就是thinkphp框架,thinkphp框架的应用其实就是把前端和后端进行分割管理,前端用户登录查询系统放在thinkphp中的home文件夹中进行管理,后端管理系统放在thinkphp中的admin文件夹中进行管理.对了,在使用thinkphp框架的时候是是要用到mvc架构的,mvc架构就是model(数据模型).view(视图).controller(控制器)的结
-
Struts中的Action 单例与多例详解
Struts中的Action 单例与多例详解 struts2中action是多例的,即每次访问网络地址的时候都会产生一个action public class pr_action { public pr_action(){ System.out.println("创建action成功!!!"); } public void execute(){ } } 运行代码可以看到,每次访问该网络地址都会在控制台输出一次!!! 如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修
-
Android中屏幕密度和图片大小的关系详解
Android中屏幕密度和图片大小的关系详解 前言 Android中支持许多资源,包括图片(Bitmap),对应于bitmap的文件夹是drawable,除了drawable,还有drawable-ldpi.drawable-mdpi.drawable-hdpi.drawable-xhdpi.drawable-xxhdpi等,同一张图片放到上面不同的文件夹中是有区别的,比如一张100 * 100像素大小的图片,分别放在上述各个文件夹中,然后将其设置为ImageView(假设宽高都是wrap_co
-
MySQL中Decimal类型和Float Double的区别(详解)
MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值. float,double类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理.这样我们在存取货币值的时候自然遇到问题,我的default值为:0.00而实际存储是0,同样我存取货币为12.00,实际存储是12. 幸好mysql提供
-
Android 图片存入系统相册更新显示实例详解
Android 图片存入系统相册更新显示实例详解 在开发android的过程中,我们避免不了可能会涉及到做一个自定义相册或则会去本地创建一个文件夹来存储我们需要的图片.拿相册来说,比如我们创建一个test的文件夹,拍完一张照片后存储到这个指定的test文件夹里,然后在相册里面显示出来,就像微信的效果一样.拍完即可立即显示.但是,在实际开发过程中我们保存完一张图片后并不能立即更新显示出来这个图片,需要我们重启手机才能在系统相册中显示出来. 这里先提供一个插入系统图库的方法: MediaStore.
随机推荐
- sqlserver中delete、update中使用表别名和oracle的区别
- JavaScript中的toString()和toLocaleString()方法的区别
- 解析使用enumerator模式简化异步操作的详解
- 解析php中获取url与物理路径的总结
- jQuery鼠标事件总结
- formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
- jQuery插件Echarts实现的渐变色柱状图
- js中获取 table节点各tr及td的内容简单实例
- JS实现关闭当前页而不弹出提示框的方法
- 在父页面调用子页面的JS方法
- SuSE Enterprise Linux 10下面启动xdmcp
- 第一次使用Android Studio时你应该知道的一切配置(推荐)
- c语言clock函数使用示例
- mysql5.7.20 安装配置方法图文教程(mac)
- Python自动化运维_文件内容差异对比分析
- CentOS6.5系统简单安装与配置Nginx服务器的方法
- 详解python持久化文件读写
- python3用PIL把图片转换为RGB图片的实例
- Libgdx解决部分Android机型锁屏崩溃的方法
- java查找无向连通图中两点间所有路径的算法