o2geao 发表于 2017-4-7 09:57:04

草文随便学习PHP笔记-类型(二

  PHP的数据类型与大部分主流语言类型一样,它把类型划分为标量类型、复合类型、特殊类型,还有伪类型。
  很有趣的是PHP变量的类型不是程序员可以指定的,而是由PHP根据该变量使用的上下文在运行时决定的。就像Javascript里的var定义变量,它可以是一个对象,一个整数,一个浮点数……
  注:
如果想查看某个表达式的值和类型,用 var_dump()

  注:
如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()
。要查看某个类型,不要

用 gettype()
,而用 is_type

函数。
  如果要将一个变量强制转换为某类型,可以对其使用强制转换或者
settype()
函数。
  一、标量类型 boolean

  (1)初次见面

<?php
$foo =True;
// == is an operator which test
// equality and returns a boolean
if ($action == "show_version") {
echo "The version is 1.23";
}
// this is not necessary...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ...because you can simply type
if ($show_separators) {
echo "<hr>\n";
}
?>

  要明示地将一个值转换成 boolean
,用 (bool)
或者 (boolean)
来强制转换。
  很多情况下不需要用强制转换,因为当运算符,函数或者流程控制需要一个 boolean

参数时,该值会被自动转换。
  (2)会认为是“错”的时候
  以下情况boolean

变量的值都是“错”值,False。其它所有值都被认为是True的,注意这里也包括了-1等所有负值。
  a. 布尔值 FALSE ,


  b. 整型值 0(零),

  c. 浮点型值 0.0(零) ,
  d. 空白字符串和字符串 "0" ,
  e. 没有成员变量的数组 ,
  f. 没有单元的对象(PHP4) ,
  g. 特殊类型 NULL(包括尚未设定的变量)

<?php
var_dump((bool) "");      // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);      // bool(true)
var_dump((bool) "foo");   // bool(true)
var_dump((bool) 2.3e5);   // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>
  学习资料来源:《PHP 手册》
页: [1]
查看完整版本: 草文随便学习PHP笔记-类型(二