PHP学习笔记(三):数据类型转换与常量介绍

yipeiwu_com5年前PHP代码库

一、PHP数据类型相互转换

1、强制转换

复制代码 代码如下:

// bool,int,float,string,array,object,null
bool settype ( mixed $var , string $type )

1)会改变原变量的类型
复制代码 代码如下:

$a= "123a"; // string
settype($a, "int"); // 勿遗漏双引号
var_dump($a);

2)在赋值前定义,不改变原变量类型
复制代码 代码如下:

$a = "123abc";
$b = (int)"123abc";
var_dump($a);

Tips:避免内存溢出,整型4字节(2.147E9),浮点型8字节

2、自动转换

根据运行环境自动转换,例如加号“+”。如果任何一个操作数是浮点数,则所有的操作数都被当成浮点数,结果也是浮点数。

复制代码 代码如下:

$foo = “0″;  // $foo 是字符串 (ASCII 48)
$foo += 2;   // $foo 现在是一个整数 (2)
$foo = $foo + 1.3;  // $foo 现在是一个浮点数 (3.3)
$foo = 5 + “10 Small Pigs”;     // $foo 是整数 (15)

3、变量测试函数
复制代码 代码如下:

is_bool()、is_numeric()、is_float()、is_int()...
is_scalar() //检测变量是否是一个标量

二、常量的声明与使用
复制代码 代码如下:

//定义后不能改变,可在任意地方访问
//默认大小写敏感,习惯大写
//常量值只能用标量(int、float、string、bool)
//常量必须声明时就赋值
define("常量名","值")

检查常量是否存在
复制代码 代码如下:

bool defined ( string $name )
var_dump(defined('a')); //勿遗漏了引号

相关文章

PHP中strtotime函数使用方法详解

在PHP中有个叫做strtotime的函数。strtotime 实现功能:获取某个日期的时间戳,或获取某个时间的时间戳。strtotime 将任何英文文本的日期时间描述解析为Unix时间...

记录一次排查PHP脚本执行卡住的问题

发现问题 最近忽然从监控中发现,我们一个服务的一台机器负载比同机房的其他机器要高,而流入流出流量没有差别,进一步查看发现每个机房都有一台机器存在相同的现象,梳理后发现有问题的这些机器相比...

PHP中的正则表达式函数介绍

正则表达式(Regular Expression) 正则表达式系统:   1.POSIX   2.Perl PHP中使用的regex是PCRE:   NOTE:PCRE(Perl兼容正则...

PHP 进程锁定问题分析研究

1. 区分读锁定 和 写 锁定。 如果每次都使用 写锁定,那么连多个进程读取一个文件也要排队,这样的效率肯定不行。 2. 区分 阻塞 与 非 阻塞模式。 一般来说,如果一个进程在写一个文...

PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)

本文实例讲述了PHP编程计算两个时间段是否有交集的实现方法。分享给大家供大家参考,具体如下: 优化前的版本: /** * PHP计算两个时间段是否有交集(边界重叠不算) * *...