PHP学习笔记(二) ---- PHP数据类型

PHP  __数据结构类型

一、php 中的八种数据类型

  1.四种标量类型

    Boolean (布尔类型): true  or  false,多用于条件判断。

    实例:

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;

 

    Int(整数类型) : 整数是没有小数的数字。

             整数规则:整数必须有至少一个数字(0-9);整数不能包含逗号或空格;整数不能有小数点;整数正负均可;可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前

             缀是 0)。

    实例:

<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);

 

    String (字符串型):字符串是字符序列,使用引号定义,也可以是使用定界符定义

    实例:

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;

 

     Float (浮点类型): 就是有小数点或指数形式的数值。但不要进行浮点型数据的比较。

    实例:

<?php 
$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);

 

  2.两种符合类型

    Array(数组类型):实现了单个变量可以存储多个值的情况;数组分为索引式(索引为数值组成)和关联式(索引为字符串组成)两种数组。

    实例:

<?php 
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);

     Object(对象类型):对象是存储数据和有关如何处理数据的信息的数据类型。在 PHP 中,必须明确地声明对象。首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。然后我们在对

                象类中定义数据类型,然后在该类的实例中使用此数据类型。

    实例:

<?php
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}

 

 

 

    3.两种特殊类型

     Resource (资源类型)

    Null (空型):特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。可以通过把值设置为 NULL,将变量清空。

    实例:

<?php
$x="Hello world!";
$x=null;
var_dump($x);

二、PHP 中变量为 null 的情况

<?php 
    //以下几种情况变量的值为null空
    
    //1.变量赋值为null时,打印为空
    $a = null;
    
    //2.被销毁的变量,打印时为空
    $b = 100;
    unset($b);
    var_dump($b);
    
    //3.直接打印一个不存在的变量时,也为空
    var_dump($c);

 

三、PHP 中数据类型自动转换为 false 情况

<?php 
    //自动类型转换,自动转换为布尔型false的情况
    
    $a = false;        //布尔型
    $a = 0;            //整型
    $a = 0.0;         //浮点型
    $a = "";          //字符串型
    $a = "0";    
    $a = array();     //数组型
    $a = null;        //空型

 

四、PHP 中数据类型自动转换为数值

<?php 
    // 自动转换为数值的情况
    $num1 = true;
    $num2 = 10;
    var_dump($num1 + $num2);   // 11 
    
    $num1 = "1234abcd";
    $num2 = 1234;
    var_dump($num1 + $num2);   // 2468
    
    $num1 = null;
    $num2 = 10;
    var_dump($num1 * $num2);  // 0

 五、强制类型转换

<?php 
    /*强制类型转换*/
    
    //改变了原变量的类型
    $a = 0;
    var_dump($a);
    settype($a,"boolean");
    var_dump($a);
    
    
    //不改变原变量类型的强制类型转换
    $b = "canglaoshi";
    $c = (integer) $b;
    var_dump($c);
    var_dump($b);

 六、PHP 中一些有助于调试代码的函数

     gettype( ) :获取某变量的数据类型

     isset ( )  :判断某变量是否被设定(存在)

     empty( )   :判断某变量是否为空(不存在)

     is_bool( ) :判断某变量数据类型是否为布尔型

     is_String( ):判断某变量数据类型是否为字符串型

        。。。

     echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) 

     echo   : PHP 语法,以字符串形式输出结果,不能对数组、对象操作  

     print   : 只能打印出简单类型变量的值(如int,string) ,输出结果速度较 echo 要慢

     print_r  : 可以打印出复杂类型变量的值(如数组,对象),仅为结果。

     var_dump:  此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。

七、PHP 中的引用变量、可变变量以及常量

  实例:

<?php 
    //可变变量
    $a = "b";
    $$a = "c";
    $$$a = "d";
    $$$$a = "e";
    echo $d."<br/>";  // e   
    
    //引用变量
    $a = "hello world!";
    $b = &$a;
    $b = "你好 世界!";
    unset($a);
    echo $b;         // hello world

        //定义一个常量
    define('NAME','haibo');
    define('SEX','women');
    define('AGE','18');
    
    //使用一个常量
    echo NAME;
    
    //常量信息不能被覆盖!
    // define('NAME','hongze');
    
    //常量定义的内容不能被销毁
    // unset(NAME);
    
    //判断某个常量是否被定义
    var_dump(defined('CLASS'));  // false

 八、PHP中已定义的系统常量

   样例:

<?php 
    //系统定义的常量
    echo "当前系统:".PHP_OS."<br/>";
    echo "PHP的版本:".PHP_VERSION."<br/>";
    echo "当前文件名:".__FILE__."<br/>";
    echo "当前行号:".__LINE__."<br/>";

 

posted @ 2017-06-28 13:57  MR_leew  阅读(215)  评论(0编辑  收藏  举报