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')); //勿遗漏了引号

(0)

相关推荐

  • PHP 类型转换函数intval

    PHP代码 $id = intval($_GET['id']); intval (PHP 4, PHP 5) intval - Get the integer value of a variable Description int intval ( mixed $var [, int $base= 10 ] ) Returns the integer value of var , using the specified base for the conversion (the default i

  • PHP中的类型约束介绍

    PHP的类方法和函数中可实现类型约束,但参数只能指定类.数组.接口.callable 四种类型,参数可默认为NULL,PHP并不能约束标量类型或其它类型. 如下示例: 复制代码 代码如下: <?php   class Test {     public function test_array(array $arr)     {         print_r($arr);     }       public function test_class(Test1 $test1 = null)   

  • PHP类型约束用法示例

    本文实例讲述了PHP类型约束用法.分享给大家供大家参考,具体如下: 在强类型语言中,类型约束是语法上的要求,即定义一个变量的时候,必须指定类型,并以后也只能存储该类型数据: php是弱类型,其特点是无需为变量指定类型,而且在其后也可以存储任何类型,不过在php的新语法中,在某些特定场合,针对某些特定类型,也可进行语法约束. 特定场合:函数(方法)的形参变量 特定类型:对象类型(类名).接口类型(接口名).数组类型(array).函数类型(callable) 即可以对函数(方法)的参数设定必须使用

  • 浅谈PHP强制类型转换,慎用!

    PHP是一门弱类型的语言.这是它的优势和特点,但是有的时候你又不得不对类型进行相应的转换. 这个时候问题就来了.因为很多情况下,你会发现转换类型之后得到的数据和预期的值相差老大一截. 这里我以强制转换为整形作为例子. 看下面的代码,可以说你绝对不可能说出正确的答案.echo (int) 123.999999999999999; echo (int)   -1.999999999999999;echo (int)   -1.9999999999999999; echo (int)   -0.999

  • 浅析php数据类型转换

    PHP 在变量定义中不需要(或不支持)明确的类型定义:变量类型是根据使用该变量的上下文所决定的.也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串.如果又把一个整型值赋给 var,那它就成了一个整数. PHP 的自动类型转换的一个例子是加号"+".如果任何一个操作数是浮点数,则所有的操作数都被当成浮点数,结果也是浮点数.否则操作数会被解释为整数,结果也是整数.注意这并没有改变这些操作数本身的类型:改变的仅是这些操作数如何被求值以及表达式本身的类型. 类型强制转换允许

  • PHP中数据类型转换的三种方式

    PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形 2.(float).(double).(real):转换成浮点型 3.(string):转换成字符串 4.(bool).(boolean):转换成布尔类型 5.(array):转换成数组 6.(object):转换成对象 PHP数据类型有三种转换方式: 1.在要转换的变量之前加上用括号括起来的目标类型 2.使用3个具体类型的转换函数,intval().floatval().strval

  • php foreach 参数强制类型转换的问题

    所以,为了防止这样的信息出现,我使用foreach的时候,都会把参数进行强制类型转换,形势如下: foreach((array)$arr as $key => $value); 这样做一直相安无事,就在前几天,突然出现了问题.我强制类型转换以后不能正常的调用object的方法了. 复制代码 代码如下: <?php class service implements Iterator{ function __construct($service_define,$filter=null){ $thi

  • PHP 变量类型的强制转换

    也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串.如果又把一个整型值赋给 var,那它就成了一个整数. PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型. 复制代码 代码如下: <?php $foo = 10; echo "转换前:\$foo=".$foo; //输出一个整数 echo "<br/>" //输出:$foo=10 echo "<br/>";

  • 解析PHP将对象转换成数组的方法(兼容多维数组类型)

    复制代码 代码如下: /**  * @author 我们  * @date 2013-6-21  * @todo 将对象转换成数组  * @param unknown_type $obj  * @return unknown  */ function object_to_array($obj){  $_arr = is_object($obj) ? get_object_vars($obj) :$obj;  foreach ($_arr as $key=>$val){   $val = (is_

  • php学习之数据类型之间的转换代码

    复制代码 代码如下: /*数据类型之间相互转换 * 一种是强制转换 * setType(变量,类型); //int,integer,float,double等等. * 这个函数将原变量的类型改变,用var_dump();可以查看变量 * * 在赋值前使用(类型)的形式,不会改变原变量的类型 * $a=(int)"123abc"; * * $变量=intval(变量或值); * $变量=floatval(变量或值); * $变量=stringval(变量或值); * * 注意:整型在内存

随机推荐