一.定界符声明字符串(了解)
heredoc
1,定界符heredoc就相当于双引号
2.定界符的开始要用双引号引起来
3,定界符的功能和双引号的功能完全一样.只不过在定界符中可以双引号
4,定界符的结尾必须顶行写
nowdoc
1,定界符nowdoc相当于单引号
2,定界符的功能效果跟单引号是一样的,但是定界符中可以加单引号
例子:
<?php
/*
1.定界符 heredoc就相当于双引号
2.定界符的开始要用双引号引起来
3.定界符的功能和双引号的功能完全一样,只不过在定界符中可以双引号
4.定界符的结尾必须顶行写
*/
/* $here = <<<"ABCD"
今天早上起得很早, 所以我就吃了两个"包子".
ABCD;
echo $here; */
/*
1.定界符 nowdoc相当于单引号
2.定界符的功能效果跟单引号是一样的,但是定界符中可以加单引号
*/
$here = <<<'ABCD'
今天早上起得很早, 所以我就吃了两个'包子'.
ABCD;
echo $here;
二,工具
echo:输出变量,可以输出多个.中间使用逗号隔开
print:输出一个变量.(不经常使用)
var_dump:输出变量的详细信息(可以输出任何一种数据类型)
print_r:可以输出变量,经常来输出数组
gettype:获取变量的数据类型
三.判断类型常用的功能函数
is_array()判断变量的数据类型是否为数组
is_bool()
is_float()
is_int()
is_null()
is_numeric()
is_object()
is_resource()
is_scalar()scalar:标量(见前面部分)
is_string()is_scalar
总结:判断功能函数is_xxx();
四.类型转换(一般是标量类型的转换)
强制类型转换:intval() floatval() boolval() strval()
自动转换:(要自动转换的类型)变量;
设置类型转换:settype(变量,'转换的类型'):若成功返回TRUE,失败返回FALSE
五,常量
概念:在城西运行的人过程中.其值是不可以改变的量就是常量
定义:define('常量名',常量值)
例子:define('PI'.3.14)
好处:
1.为了跟变量进行区分
2.修改时.一处改,处处改
3.提高了开发效率
常量注意事项:
常量名一般使用大写字母来定义
常量值只能为标量
常量名可以小写,但是通常大写
常量名需要加上引号
在字符串中调用常量的时候,必须在引号外面
[总结]变量或者常量需要跟字符串同时输出时.这是需要将变量或者常量写在字符串的外边.并且使用连接
常量名建议只用字母和下划线
例子:DB_HOST DB_USER DB_PASSWORD
常量全局都有效
六,超全局变量
$GLOBALS
$_SERVER
$_GET
$_POST
$_REQUEST
$_ENV
$_FILES
$_COOKIE
$_SEEION
结果都是数组
七.可变变量
$one='two';
$two='three';
echo$$a;//结果为three
echo$two;//结果为three
将变量的值当做另外一个变量的名字
八,变量引用
$a='123'
$b=&$a;
&a='345;
var_dump($a,$b);
九.运算符和表达式(表达式的结果只有两种要么为真要么为假)
算数运算符:+-*/%(取余/求模)
赋值运算符:+=-=*=/=%=.=
例子: $a += $b 其实就是$a = $a +$b
自加自减运算: ++ --
变量放置的前边:++$a/--$a 执行顺序: 先加1/减1,再赋值
变量放置的后边:$a++/$a-- 执行顺序 : 先赋值,再加1/减1
关系运算符: < > <= >= != == !== ===
$a< $b
=: 赋值
==:判断值是否相等
!= 判断值是否不相等
=== 判断值和值对应的类型都要相等
!== 判断值或者值对应的类型只要有一个不相等
逻辑运算符.&& || and or xor !
3<$a<100
$a>3&& $a<100
逻辑与 && and
表达式1 表达式2 表达式1&&表达式2
真 真 真
真 假 假
假 真 假
假 假 假
总结:一假全假,全真为真
逻辑或|| or
表达式1 表达式2 表达式1||表达式2
真 真 真
真 假 真
假 真 真
假 假 假
总结:一真为真,全假为假
逻辑非!
0 1
表达式 !表达式
真 假
假 真
异或xor
表达式1 表达式2 表达式1xor表达式2
真 真 假
真 假 真
假 真 真
假 假 假
总结: 相同为假,不同为真
题: 变量要么大于3,要么小于0
$a<0 || $a > 3
按位运算符: & | ^ ~ << >>(了解)
1个0算一位或者1个1算一0位, 8位表示一个字节
00000000 0000 0010
0和1 0 1和0 0 1和1 1 0和0 0
按位与:
00000010 2
00001100 & 12
00000000
按位或:
0和1 1 1和0 1 1和1 1 0和0 0
00000010
00001100 |
00001110
按位取反
00000010
11111101 ~
按位异或 ^
00000010
00001100 ^
00001110
左移 <<
00000010 <<2
00001000
右移 >>
1111 1100 >>2
0011 1111
十. 短路概念
只针对于逻辑与(&&)和逻辑或(||)
表达式1&&表达式2 表达式1||表达式2
逻辑与: 只要判断表达式1的结果为假,然后并且&&,这时就不在往后判断,直接输出假
逻辑或: 只要,判断表达式1的结果为真,然后并且||,这时就不在往后判断,直接输出真
十一. 三元运算符 (三目运算符) 指的是三个表达式
$a> $b $a $b
格式: 表达式1 ? 表达式2 :
$a> $b ? $a : $b;
题: $a $b$c 那个值最大
($a> $b ? $a : $b) > $c ? ($a > $b ? $a : $b) : $c;
十二. 优先级问题
()
如果想先执行那个运算,就直接给该运算加()
例子:
<?php
/* $name = 123; */
$name = true;//boolean布尔类型
$zicheng= gettype($name);
var_dump($zicheng);//integer整型
<?php
例子:
$num = 123;
/*
1.if语句中的小括号是一个表达式
2.表达式的结果只有2中,TRUE和FALSE
*/
if (is_int($num)) {
echo '是整型';
}
例子:
<?php
//强制转换
/* $num = 3.14;
$zicheng = intval($num);
var_dump($zicheng); */
//自动转换
/* $num = '123'; */
/* var_dump($num);
$zicheng = (int)$num;
var_dump($zicheng); */
//settype
/* $num = '123';
$zicheng = settype($num,'int');
var_dump($num);
var_dump($zicheng); */
/* $name = null;
$zicheng = (int)$name;
var_dump($zicheng); */
$num = 0;
if ($num) {
echo '这是整型';
}
有问题或者需要更详细例子的,可以留言,作者一定会回复!