PHP 基础01- 数据类型

1.PHP

PHP特性

1.PHP文件或者文件夹命名中不能有中文,不能有中文路径。

2.PHP文件存放位置:wamp/www/目录下。

3.访问PHP脚本的步骤:

​ 开启wamp服务——>在浏览器地址栏中输入:localhost

4.PHP是什么:(Professional Hypertext Preprocessor)超文本预处理器

一句话一种用来开发动态网站的服务器脚本语言

5.PHP定界符

​ 格式:<?php PHP代码 ?>

​ 只有在定界符内的代码才会被PHP解析

6.向浏览器输出一句话:echo 'hello,world!';

7.PHP设置编码(一般情况下,该编码声明写在文件头部)

header('content-type:text/html;charset="utf-8"');

8.注释

单行注释:#注释内容 or //注释内容

多行注释:/*注释内容*/

9.PHP基本语法

  • 每一条命令均以分号(;)结尾,代表这条命令已经结束。
  • 只有最后一条可以不加,但推荐都加上。

10.查询PHP相关信息

phpinfo();

11.若只想输出一句话,可以使用如下格式:

<?='hello,world!'?>

<?php echo 'hello,world!'?>

2.变量var

1.变量,即未知数(variable),主要是负责指向(引用)一个值,值不是固定的。

$a=10;

2.格式:$变量名=值;

值必须给定,不给会报错,称之为“未定义变量”

3.变量命名

  • 右数字,字母和下划线组成;
  • 不能以数字开头;
  • 变量严格区分大小写;
  • 支持中文,但不推荐

4.变量技巧

1)可变变量:将一个变量的值作为另一个变量的名字来使用

1
2
3
4
5
$山鸡 = '陈小春';
$陈小春 = '应采儿';

echo $陈小春; #输出应采儿
echo $$山鸡; #输出应采儿

引用变量名为另一个变量值的变量值,可以使用两个$直接引用

2)传值:将一个变量的值赋予另一个变量

1
2
3
4
5
$a=10;
$b=$a;
$b=5;
echo $a; #输出10
echo $b; #输出5

3)传址:将一个变量的内存地址赋予另一个变量

1
2
3
4
5
$a=10;
$b=&$a;
$b=5;
echo $a; #输出5
echo $b; #输出5

3.数据类型

PHP中的数据类型包括:

标量类型

  • 整型 Int
  • 浮点型 Float
  • 布尔型 Bool
  • 字符型 String

复合类型

  • 数组 array
  • 对象 object

特殊类型

  • 资源 resource
  • 空类型 NULL

4.整型int

1.最大整型PHP_INT_MAX

最大整型就是php中数据显示为整型的最大值,为2的31次方

若某个值比PHP_INT_MAX还大,则自动转为float型

2.检测是否为整型is_int();

输出值为bool值

3.进制

基数 前缀
二进制 0/1 0b
八进制 0~7 0
十进制 0~9 无前缀
十六进制 0~f 0x

4.计算方法

1)任何进制转为十进制:

次方求和法:∑(基数*进制^次方)

2)十进制转化为其他进制:

除基数取余法:当商比任意进制基数还小时,停止除法运算;将余数倒排序,即得到结果。

快捷方法:

2048 1024 512 256 128 64 32 16 8 4 2 1

5.浮点型 float

1.科学计数法

1
2
$num=2e3;
var_dump($num); #输出为浮点型

如果使用科学计数法,则默认该值为浮点型数据

2.判断是否为浮点型数据is_float();

3.精度

浮点型数据在php显示结果中只显示14位有效数字,故在浮点运算中,结果并不精确,浮点型数据不适合做二进制计算,同时也尽量不要用小数做等值判断,防止数值误差产生,得到错误结果

1
2
3
4
5
6
7
8
9
10
11
12
13
$a=0.1+0.2;
var_dump($a);
if($a==0.3){
echo 'true';
}else{
echo 'false'; #运算结果为false
}

if($a>0.3){
echo 'true';
}else{
echo 'false'; #运算结果为true
}

6.布尔型 bool/boolean

1.:false true

2.作用:代表两种极端状态,常用与判断比较等

3.判断数据是否属于bool值is_bool();

4,等价判断:以下7种情况与false等价

  • false
  • 0
  • 0.0
  • ‘’ or ‘0’
  • NULL空类型
  • 空数组
  • 未定义变量

7.字符串string

1.作用

用于存储or表达信息,包含数字,字母,标点,汉字等

2.格式

  • 小段内容:单双引号

    1
    2
    3
    4
    $a='dead man may never die';
    $b='winter is coming';
    var_dump($a);
    var_dump($b);
  • 大段内容:heredoc结构

    1
    2
    3
    4
    	$c=<<<xxx
    曾经跟媳妇吵架, 吵到最激烈的时候, 我就想: 一个大老爷们跟老娘们较什么劲. 当时就跟媳妇道歉了,媳妇挺开心的... 他哥就放下菜刀, 他妹松开了拽着我头发的手, 老丈人拿起了电话: 棺材退了吧. 夫妻之间只要多沟通, 生活还是很和谐.
    xxx;
    var_dump($c);

    注意

    1)xxx可以替换成任意其他结构次(自制)

    2)保证首尾一致

    3)开始结构词的后面不能有任何多余的字符(包括空格)

    4)结尾结构词的前后不能有任何多余的字符(包括空格)

3.检测类型

  • 是否为字符串:is_string();
  • 是否为数字或数字字符串:is_numaric();
  • 是否为标量类型:is_scalar();

4.单双引号的区别

  • 单引号:不能识别变量,执行速度快;但不能识别解析转义字符,
  • 双引号:可以识别变量,执行速度较慢;可以识别解析转义字符。

转义字符:\

能够给普通字母赋予特殊意义,也可以把特殊意义的字符变成普通字符输出。

常见转义字符

\n 换行
\r 回车
\t 制表符Tab
\' '
\" "
\$ $

8.数组 Array

1.简述:键值对;

2.定义:数据的集合;

3.格式$数组名[]=数组值 或者 $数组名=[值1,值2,值3,...]

4.显示格式

1
2
3
4
5
6
7
8
9
						显示:	array (size=7)
$bag[]='三国演义'; 0 => string '三国演义' (length=12)
$bag[]='水浒传'; 1 => string '水浒传' (length=9)
$bag[]='红楼梦'; 2 => string '红楼梦' (length=9)
$bag[]='西游记'; 3 => string '西游记' (length=9)
$bag[]='10000'; 4 => string '10000' (length=5)
$bag[]=NULL; 5 => null
$bag[]=1000; 6 => int 1000
var_dump($bag);

5.数组操作

  • 查询数组中的一个值:通过键来查询; var_dump($bag[2];)
  • 修改数组中的某个值:通过已经存在的键来修改; $bag[1]='菜根谭';
  • 新增数组中的某个值:通过不存在的键来新增; $bag[9]='说文解字’;
  • 删除数组中的某个值:通过键来操作(unset); unset($bag[1]);

9.空类型 Null

1.定义:null代表什么都没有,常用于先占据内存,供后期使用;

2.以下三种情况,直接显示null:

  • 直接赋值null $a=null;

  • 未定义变量 var_dump(@$b);

    @为错误抑制符,可以临时屏蔽$b的错误;

  • 被删除的变量 unset($c);

注意:只要与false等价,基本都与null等价

10.对象 Object

1.对象:在PHP中,一切皆对象

​ 获取一个对象:

1
2
$a=new stdClass;		
var_dump($a); #显示:object(stdClass)[1]

11 资源 Resource

2.资源:所有的文件都是资源

​ 获取一个资源:

1
2
3
$b=fopen('./ex.html');		
var_dump($b); #显示:resource(3, stream)