PHP自学day01笔记
PHP:脚本语言,可嵌入HTML,弱类型。
PHP标记:
asp标记:<% 代码 %>
短标记:<? 代码 ?>
以上不建议使用
脚本标记
PHP注释:
单行:// 或者 #
多行:/* 注释,可换行 */
echo约等于print
可以以echo 'HTML标签’的方式使用html代码。
变量: $变量名 =值;
$开头,可以用字母,下划线,数字(不开头),中文(不建议),区分大小写。
预定义变量:(都是数组,区分大小写)
$_POST:接收表单以POST发送的数据
$_GET:接收表单以GET方式发送的数据
R
E
Q
U
E
S
T
:
_REQUEST:
REQUEST:_GET+
P
O
S
T
+
_POST+
POST+_COOKIE
$_FILES:HTTP文件上传变量
$_SERVER:服务器与执行环境变量
$_ENV:环境变量
$_SESSION:会话变量
$_COOKIE:http cookie
$_GLOBALE:预定义变量的总集合
$php_errormsg:前一个错误信息(只在错误发生的作用域内可用,需要开启php.ini里track_error配置项)
可变变量:
$a=‘b’;
$b=‘bb’;
$
a
−
−
>
a -->
a−−>(
a
)
−
−
>
a)-->
a)−−>b–>‘bb’
变量传值:
值传递:复制一份值,给别的变量保存
引用传递:变量地址给别的变量
a
=
1
;
@
a=1; @
a=1;@b= &$a;//&引用传递
$b=2;`
echo
a
,
a,
a,b; //22
内存分区:
栈区:小,不存数据,运行
代码段:存程序,脚本编译结果
数据段:存储普通数据
堆区:存大数据,慢
常量:
constant/const
定义方式:定义时必须赋值。
1、defined(‘常量名’,常量值);
2、const 常量名=值;
define(‘PI’,3.1415926);
const PI=3.14;
命名方式:
1、不要
,
用
,用
,用是变量。
2、字母数字下划线,数字不开头。
3、常量以大写字母为主。
4、命名规则松散,一些特殊命名只能用define.
const和define区别在于权限。
常量不区分大小写
特殊符号常量名的常量访问用特殊方法。
eg:define(’--’,123);
echo --; X
echo constant(’-_-’); V
常量和变量的对比:
不允许被修改的用常量,其他尽量变量。
变量可以释放,常量会一直占用内存。
系统常量:
系统定义,用户可以直接调用。
常用系统常量:
PHP_VERSION:PHP版本号;
PHP_INT_SIZE:整型大小;
PHP_INT_MAX:整形表示最大值;
魔术常量(双下划线开始,双下划线结束,中间是常量名,不区分大小写):
魔术常量可以随环境变化,但是用户无法改变。
DIR;当前被执行的脚本在电脑的绝对路径;
FILE;当前被执行脚本的绝对路径(带文件名);
LINE;文件中的当前行号;
FUNCTION:当前函数(或方法)的名称;
CLASS:当前的类名(包括该类的作用区域或命名空间);
METHOD:当前的方法名(包括类名);
NAMESPACE:当前文件的命名空间的名称。
弱类型语言,变量无类型,数据类型有三大类八小类:
简单(基本)数据类型:4小类
整型:int/integer,系统分配四个字节存储,表示整数类型(有前提)。
浮点型:float/double,系统分配8个字节存储,表示小数或者整型存不下的整数。
字符串型:string ''里就是字符串。
Boolean:表示真true 假 false。
符合数据类型:两小类
对象:object(面对对象)
数组:array,存储多个数据(一次性)
特殊数据类型:两小类
资源类型:resource,存放资源数据(PHP外部数据,如数据库、文件)
空类型:NULL,空,不能运算。
类型转换:
转换主要转换为判断和运算
自动转换和强制转换()
字符串转数值规则:
1、以字母开头的字符串永远为零。
2、以数字开头的字符串 ,取到碰到字符串为止(不会同时包含两个小数点)
类型判断函数:
is_xxx(变量名) xxx是类型名int\float
bool类型不能用echo查看,可以使用var_dump结构查看。
var_dump(变量名)可以用来判断括号里的是true还是false
纠错:当天关于 var_dump() 的理解上出了一些错误,没有理解全面。//2020/8/3记
var_dump() 函数用于输出变量的相关信息。
var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
a
=
′
s
t
r
i
n
g
′
;
v
a
r
d
u
m
p
(
i
s
i
n
t
(
a='string'; var_dump(is_int(
a=′string′;vardump(isint(a));//bool(false)
var_dump(is_string($a));//bool(ture)
还有一组函数可以用来获取以及设定数据(变量)的类型。
Gettype(变量名); //获取类型,得到该类型对应的字符串。
Settype(变量名,类型); //设定数据类型,与强制转换不同。
强制转换(类型)变量名:只是对数据复制内容进行处理(不会实际改变存储内容)
Settype(变量名,类型);会直接改变数据本身。
整数类型:
PHP中有四种整型:十进制、二进制、八进制、十六进制。
$a1=120;十进制
$a2=0b120;二进制
$a3=0120;八进制
$a4=0x120;十六进制
默认十进制输出数值。
浮点类型:
整型超过自身存储大小后会自动用浮点型存储。
不要用浮点数做精确判断。
布尔类型:
$b1=true;
b
2
=
f
a
l
s
e
;
v
a
r
d
u
m
p
(
b2=false; var_dump(
b2=false;vardump(b1,$b2);
输出–>bool(true) bool(false)
Empty():判断数据的值是否为“空”,NULL;
Isset():判断存储数据的变量是否存在,存在变量返回true,不存在返回false
运算符:
计算:+、-、*、/、%。
比较:>、<、>=、<=、、!=、=、!==。
=(全等于)左右完全相同,大小以及数据类型都要相同。
!(不全等于)只有大小或者类型不同。
==只是对比值是否相同。
逻辑运算符:
逻辑运算,针对不同的结果进行匹配。
&& 短路与
|| 短路或
! 非
连接运算符:
.:将两个字符串连接到一起
.=:将左边的内容和右边内容连接赋给左边(类似+=、-=)
错误抑制符:
在PHP中有一些错误可以提前预知,但是这些错误可能无法避免。但是又不想要给用户看到。
@ :在可能出错的表达式前使用@符号即可。
上线的时候可能会用到,但是开发时不用。
三目运算符:
表达式1 ?表达式2 :表达式3;
true 2执行
false 3执行
如果表达式复杂,建议用括号包起来。
自操作运算符:
++自加一
–自减一
衍生:
+=
-=
*=
/=(这个要小心右边为零)
流程控制:代码执行的方向
昨天,day01看到这里
今天继续加油。