PHP学习(二)

2019.3.15 Blazar 实验楼


* 实验环境

PHP 7.2

Ubuntu 14.04

* 数据类型

PHP 的四种标量数据类型,分别是boolean(布尔型)、integer(整型)、float(浮点型,也称作 double)、string(字符串)。然后介绍了字符串的 4 中定义方式,单引号,双引号,Heredoc 和 Nowdoc。


  • PHP 支持 8 种原始数据类型。

    四种标量类型:

    • boolean(布尔型)
    • integer(整型)
    • float(浮点型,也称作 double)
    • string(字符串)

    两种复合类型:

    • array(数组)
    • object(对象)

    最后是两种特殊类型:

    • resource(资源)
    • NULL(无类型)

  • 类型检测

    • var_dump()函数可以查看表达式的值和类型
    • gettype()函数用于检测变量类型
    • is_ 加类型,如is_int() , is_array() 等,判断变量量是否为该类型
<?php
$a = TRUE;
$b  = "foo";
$c = 0.1;
$d = 12;

if (is_string($b)) {
    echo "$b 是字符串".PHP_EOL;
} 

if (is_int($c)) {
    echo "$c 是整型".PHP_EOL;
}

var_dump($a);
var_dump($b);
echo gettype($c).PHP_EOL;
echo gettype($d);

执行

$ php test.php

在这里插入图片描述


  • Boolean 布尔类型

    布尔类型表达了真值,可以为 TRUE 或 FALSE,不区分大小写。

    <?php
    
    $a = True;
    $b = False;
    
    var_dump($a);// bool(true)
    var_dump($b);// bool(false)
    

    在这里插入图片描述

    运算符返回 boolean 类型的结果:

  <?php
  
  // == 是一个操作符,它检测两个变量值是否相等,并返回一个布尔值
  if ($a == "say_hello") {
      echo "Hello World";
  }
  // $b 的值是否为 true:
  if ($res) {
      echo "This is true";
  }
  • ** 注意**当下列情况转换为 Boolean 时,其值为 FALSE
    • 布尔值 FALSE 本身
    • 整型值 0(零)
    • 浮点型值 0.0(零)
    • 空字符串,以及字符串 “0”
    • 不包括任何元素的数组
    • 特殊类型 NULL(包括尚未赋值的变量)
    • 从空标记生成的 SimpleXML 对象

在这里插入图片描述

  • Integer 整型

    • 整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。整数溢出
    • 如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。
<?php

$a = 123445566;
$b = 9223372036854775807;
$c = 9223372036854775808;
$d = 50000000000000 * 1000000;

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);

​ 执行 php test.php

​ ( 更改了部分数字)

​        ![](C:\Users\dell\Desktop\php.PNG)


  • Float 浮点型

    • 浮点型(也叫浮点数 float,双精度数 double 或实数 real)
    • 浮点数的字长和平台相关,通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)

  • String 字符串类型

    一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节,PHP 中有 4 中表达方式:

    1 . 单引号

    ​ 单引号内特殊字符变量不会被解析(类似于字符串直接打印

    <?php
    $a = 'Hello';
    echo '$a \n World';//$a \n World
    

    在这里插入图片描述

    2 . 双引号

    ​ 双引号内的特殊字符和变量会被解析。

  ```php
  <?php
  $a = 'Hello';
  /**
   * Hello
   * php World
   */
  echo "$a \nphpWorld";

在这里插入图片描述

3 . Heredoc

​ Heredoc 类似与双引号,内部转义字符和变量可以被解析,句法结构为

  <<<EOT
  
  字符串
  
  EOT;

​ 其中 EOT 为标识符,可以自定义,但是首尾标识符必须相同。 开始标识符 EOT 后需换行,结束标识符 EOT 必须独占一行,且前面不许有空格。

  <?php
  $a ='Hello' ;
  echo <<<EOT
  $a Hello
  EOT;

在这里插入图片描述

4 . Nowdoc

​ Nowdoc 类似于单引号,无法解析转移字符和变量。句法结构类似 Heredoc,但是需要在开始标识符加上单引号。

  <?php
  $a ='Hello' ;
  echo <<<'EOD'//和 Heredoc 不同点
  $a Hello
  EOD;

编辑 test.php

  <?php
  
  $a = 'Hello';
  $b = '$a World';
  $c = "ShiYanLou";
  
  $c = <<<EOT
  $a \n World
  EOT;
  
  $d = <<<'EOT'
  $a \n $c
  EOT;
  
  var_dump($b);
  var_dump($c);
  var_dump($d);

执行 php test.php

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值