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

yipeiwu_com7年前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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位

each()定义和用法 each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。 返回的数组中包括的四个元素:键名为 0,1,key 和 v...

php的crc32函数使用时需要注意的问题(不然就是坑)

前几天写了一个分表程序,用的hash算法是crc32.分表的函数如下: 复制代码 代码如下:     function _getHash($username...

让你成为更出色的PHP开发者的10个技巧

Raphael Caixeta作为一个刚开始使用PHP的开发者,总结了十点PHP开发的技术,希望能对这门了不起的放言的初学者能有些帮助:1、尽量使用PHP自带的核心函数和类 2、巧用配置...

PHP实现的一致性哈希算法完整实例

本文实例讲述了PHP实现的一致性哈希算法。分享给大家供大家参考,具体如下: <?php /** * Flexihash - A simple consistent h...

PHP 文件缓存的性能测试

PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函...