PHP基础(二)--数据类型

本文详细介绍了PHP中的数据类型,包括布尔型、整型、浮点型、字符串、数组、对象和空值类型。讲解了每种类型的定义、语法、注意事项,并通过示例代码展示其使用方法。此外,还提到了数据类型的转换和比较,以及在实际编程中应注意的问题。
摘要由CSDN通过智能技术生成

数据类型

以下两个方法可以用来判别变量的数据类型:

var_dump(变量|表达式); 函数用来查看表达式的值和归属类型

gettype(变量|表达式); 函数用来查看变量或表达式的类型

 

1.布尔类型 Boolean

描述:boolean是最简单值类型,用来表示表达式的真假

语法:一般使用TRUE或FALSE常量来指定布尔值,两者均不区分大小写

注意:

  a.可以使用bool或boolean强制转换修饰符,对非布尔值类型的变量或表达式进行强制转换

  b.当转换为布尔值类型时,以下值被认为是FALSE

    布尔值FALSE本身

    整型值0

    空字符串,以及字符串"0"

    不包括任何元素的数组

    特殊类型NULL(包括尚未赋值的变量)

  c.所有其它值都被认为是TRUE(包括任何资源和NAN)

强调:-1和其它非0值(无论正负)一样,被认为是TRUE

例子:

<?php
     /*布尔类型*/
    $bool1=true;
    $bool2=false;
   var_dump($bool1);//true
   echo '<br>';
   var_dump($bool2);//false
   echo '<br>';
   $bool3=(bool)0;
   var_dump($bool3);//false
   echo '<br>';
   $bool4=(bool)'0';
   var_dump($bool4);//false
   echo '<br>';
?>

2.整数类型 Integer

描述:整数指的是集合z={...,-2,-1,0,1,2,...}中的某个数

语法:

  a.整型值可以是十进制、二进制、八进制、十六进制,前面可以加上可选的符号(-或者+)

  b.二进制表达的integer自PHP5.4.0起可用

  c.要使用八进制表达,数字前面必须加上0(零)

    要使用十六进制表达,数字前面必须加上0x

    要使用二进制表达,数字前面必须加上0b

注意:

  a.PHP7以前的版本,如果向八进制数传递了一个非法数字(即8或9),则后面其余数字会被忽略。PHP7以后会产生Parse Error错误

  b.PHP中没有整除的运算。1/2产生float0.5

  c.使用(int)或(integer)方法对非整型变量或表达式进行强制类型转换

强调:绝不要将未知的分数强制转换为integer,这样有时会导致不可预料的结果

例子:

<?php
   $int1=10;
   var_dump($int1);
   echo '<br>';

   $int2=0b10;
   var_dump($int2);
   echo '<br>';

   $int3=010;
   var_dump($int3);
   echo '<br>';

   $int4=0xff;
   var_dump($int4);
    echo '<br>';
?>

3.浮点类型 Float

描述:浮点类型,又被称为浮点数float或双精度数double或者实数real

语法:可以通过以下任何一种类型来定义

  $a = 1.243;

  $b = 1.2e3;

  $c = 7E-10;

注意:

  a.永远不要直接比较两个浮点数的大小,因为没有任何意义

  b.如果必须比较浮点数大小,则可以采用【epsilon】机器极小值方式进行比较

  c.NAN表示数字上无法用浮点数具体描述的数字和true之外的任何值进行松散或严格比较的结果都会是false

强调:由于NAN代表着任何不同值,不应拿NAN去和其它值进行比较,包括本身

4.字符串

描述:php中采用单引号或双引号来定义字符串;每一个字符等同于一个字节,因此php中只能支持256字符集,也正是因为这样,其不支持Unicode

注意:

        1.php字符串中使用转义字符\来描述容易引起歧义的内容

        2.php对双引号定义的字符串中的变量可以进行内容解析,而单引号则不行。

        3.php中字符串拼接采用.点运算符实现!不是+加号!!!!!!!

        4.php字符串允许多行定义,但会忽略多余空格和换行

例子:

<?php
      $str1='my name is \'beixi\'';
      echo  $str1;
      echo '<br>';

      $age=12;
      echo '我的年龄是{$age}岁';//单引号不会进行解析而是原样输出
      echo '<br>';

      echo "我的年龄是{$age}岁";//双引号会进行解析
      echo '<br>';

      $str2='我仅代表
               xx
               yyy
                ';
      echo $str2;
      echo '<br>';

      $str3='hello';
      $str4='world';
      $str5=$str3.$str4;
      echo $str5;
?>

5.数组

描述:php中数组实际上是一个有序映射,映射就是把keys关联到values上的类型

语法:

        array(key=>value,...)

        //键(key)可以是一个整数或者字符串 

        //值(value)可以是任意类型

        自PHP5.4起,可以直接通过短数组定义方式[]来替代array()

注意:

        a.php中echo仅用来输出简单值,而复杂数据类型则需要通过print_r()函数来输出

        b.php中的数组实际上更相似与js的对象结构

        c.php中数组的读取和赋值可以通过数组名[键名]方式来读写

        d.php中数组的长度读取通过count()函数实现

        e.php中数组内部添加原本不存在的key值,不会补齐之间的差值,而是仅添加当前新输入的key值。例如:$arr[100]=100;并不会为数组添加100个元素

例子:

<?php
echo '<pre>';
$arr1=array('username'=>'beixi','password'=>'123456');
$arr2=[true,12,'小明'];
print_r( $arr1);
print_r( $arr2);

$arr2[2]='zhangsan';//赋值
echo $arr2[2];//zhangsan
echo '<br>';

echo $arr1['username'];//beixi
echo '<br>';

echo count($arr1);
echo '<br>';

echo count($arr2);
echo '<br>';

print_r($arr2);

$arr2[100]='小号';
echo count($arr2);//4
echo '<br>';

 print_r($arr2);
?>

 

 6.对象Object

什么是类?什么是对象?类和对象有什么关系?

类:是一些事物具有公共特征的抽象描述。

对象:类中某一个具体存在的个体。

类是范畴,对象是其中的个体。

描述:php中想要创建一个对象,则必须通过new语句实例化一个类得到

语法:$obj = new Func;

注意:

        a.php中类由class关键字声明,类名后没有小括号

        b.php中类内部的方法由->箭头来调用,而不是.运算符

例子:

<?php
    echo '<pre>';
    class Phone{
      public $phoneType='oppo';

      function showInfo(){
        echo '充电5分钟通话两小时';
      }
    }
    $myPhone=new Phone; //创建对象

    print_r($myPhone);

    $myPhone->showInfo();//调用类中的方法
    echo '<br>';
    
    echo $myPhone->phoneType;
?>

7.空值类型

描述:NULL表示变量未被赋值的状态,NULL类型唯一可能的值就是NULL

注意:NULL值不区分大小写,NULL或null都可以

例子:

<?php
    $temp=null;
    var_dump($temp);    
?>

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白小白从不日白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值