语言与语言之间都会有相似的语法,也有它独有的语法。所以本节还是得记录一下PHP的基础语法~
目录
一、PHP标记
二、基础语法
1. PHP语句都以英文分号【;】结束。
2. PHP注释
3. 输出语句:echo
4. 变量及变量类型
5. 字符串
6. 字符串连接
7. 表单数据
8. 运算符
9. 分支与选择
10. PHP函数
附录
PHP也是通过标记来识别的,像JSP的<% %>的一样,PHP的最常用的标记是: 。
以“”开始,“?>”结束。
该风格是最简单的标记风格,默认是禁止的,可以通过修改short_open_tag选项来允许使用这种风格。
[捂脸哭]我们其实目前不需要去配置这个风格哈,老老实实用就够了~
大体上有三种:
sublime text 3神奇快捷键:ctrl shift d =>复制当前行到下一行
PHP可以嵌套在HTML里面写,所以也可以输出HTML、CSS、JavaScript语句等。
#testPhpJs {color: red}";
echo "一级标题
";
echo "";
?>
">
网页输出结果:
PHP的类型有六种,整型、浮点型、字符串、布尔型、数组、对象。
但是定义的方式只有一种:$变量名。PHP变量的类型会随着赋值的改变而改变(动态类型)
特殊的变量(见附录)。
关于字符串,我们还有几点需要说的:
a. 双引号和单引号包起来的都是字符串:'阿'、"阿"。注意单引号里不能再加单引号,双引号里不能再加双引号,实在要加的话记得用转义符“\”
b. 如果想输出很大一段字符串,那么就需要定界符来帮忙。定界符就是由头和尾两部分。
定界符的名字是自己起的,乐意叫啥就叫啥,但是它的尾巴必须靠在最左边,不能有任何其他的字符!空格也不行:
看!上面这个注释都变成黄色了~它都报错了,大家写的时候可不能这么写哦~
不同于Java的“+”号连接符,PHP用的是点【.】。在做数据库查询语句的时候,常会遇到要与变量拼接的情况。这里给个小技巧:
在数据库相关软件中先用一个数据例子写好查询语句,并测试直到执行成功:
然后将数据换成变量:
1. 将sql语句用字符串变量存储。
2. 将写死的数据换成两个双引号
2. 在双引号中间加两个连接符 点【.】
3. 在连接符中间将变量放入
保证不会出错哈哈(这个多用于数据库的增删改查,避免sql语句的错误)
表单在提交数据的时候,method有两种方式:post & get。所以PHP有几种不同的方式来获取表单数据:
运算符和其他语言基本一致,如果不了解的可以去看看我的java运算符(https://blog.csdn.net/ahanwhite/article/details/89461167)。
但这里还是有一个比较特殊的:
字符串连接赋值:【.=】
同样和其他语言差别不大,有兴趣可以看我的java控制语句(https://blog.csdn.net/ahanwhite/article/details/89461652)
PHP的函数和Java还是有点儿区别,定义的格式:
a. 函数参数可以为空
b. 如果需要修改函数的值,可以使用引用参数传递,但是需要在参数前面加上【&】
c. 函数的参数可以使用默认值,在定义函数是参数写成: $参数 =“默认值”; 即可。(默认值又叫缺省值)。
".$name;
}
//不传参测试默认值
myName2();
?>
d. PHP也有一些自己的系统函数(比如echo),这里再列几个常用的字符串函数:
$a = mb_strlen("abdsd");
$b = mb_strlen("lalalal",'UTF-8')
我一般用后面这个,按utf-8编码计算长度。
strstr(字符串1,字符串2)
补充一个函数 var_dump() 【实名感谢石老师】
用来判断一个变量的类型与长度, 并输出变量的数值, 如果变量有值输的是变量的值并回返数据类型. 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
";
echo var_dump($b);
?>
如果存在前面的字符串里存在后面的字符串,那么会返回字符串2以及在字符串1里后面的所有字符。如果不存在,就会返回false(但是不能直接输出,直接输出好像是空值,判断一下再输出提示信息会比较好)
strcmp("字符串1","字符串2")
//1比2打,返回大于0,2比1打,返回小于0,一样大的话返回等于0
htmlspecialchars("字符串")
strtolower("字符串");//将字符串全变成小写
strtoupper("字符串");//将字符串全变成大写
md5() 将一个字符串进行 MD5 加密计算。(没有解密的函数,用于密码,检验时将用户提交的密码加密之后进行对比)
$a = md5("字符串");
特殊的变量
服务器变量名 |
变量的存储内容 |
$_SERVER["HTTP_ACCEPT"] |
当前Accept请求的头信息 |
$_SERVER["HTTP_ACCEPT_LANGUAGE"] |
当前请求的Accept-Language头信息,如zh-cn |
$_SERVER["HTTP_ACCEPT_ENCODING"] |
当前请求的Accept-Encoding头信息,如gzip、deflate |
$_SERVER["HTTP_USER_AGENT"] |
当前用户使用的浏览器信息 |
$_SERVER["HTTP_HOST"] |
当前请求的Host头信息的内容,如localhost |
$_SERVER["HTTP_CONNECTION"] |
当前请求的Connection头信息,如Keep-Alive |
$_SERVER["PATH"] |
当前的系统路径 |
$_SERVER["SystemRoot"] |
系统文件夹的路径,如C:\Windows |
$_SERVER["SERVER_SIGNATURE"] |
包含当前服务器版本和虚拟主机名的字符串 |
$_SERVER["SERVER_SOFTWARE"] |
服务器标志的字串,如Apache/ (Win32) PHP/5.2.8 |
$_SERVER["SERVER_NAME"] |
当前运行脚本所在服务器主机的名称,如localhost |
$_SERVER["SERVER_ADDR"] |
服务器所在的IP地址,如127.0.0.1 |
$_SERVER["SERVER_PORT"] |
服务器所使用的端口,如80 |
$_SERVER["REMOTE_ADDR"] |
正在浏览当前页面用户的IP地址 |
$_SERVER["DOCUMENT_ROOT"] |
当前运行脚本所在的文档根目录,即htdocs目录 |
$_SERVER["SERVER_ADMIN"] |
指明Apache服务器配置文件中的SERVER_ADMIN参数 |
$_SERVER["SCRIPT_FILENAME"] |
当前执行脚本的绝对路径名 |
$_SERVER["REMOTE_PORT"] |
用户连接到服务器时所使用的端口 |
$_SERVER["GATEWAY_INTERFACE"] |
服务器使用的CGI规范版本 |
$_SERVER["SERVER_PROTOCOL"] |
请求页面时通信协议的名称和版本 |
$_SERVER["REQUEST_METHOD"] |
访问页面时的请求方法,如get、post |
$_SERVER["QUERY_STRING"] |
查询的字符串(URL中第一个问号?之后的内容) |
$_SERVER["REQUEST_URI"] |
访问此页面所需的URI |
$_SERVER["SCRIPT_NAME"] |
包含当前脚本的路径 |
$_SERVER["PHP_SELF"] |
当前正在执行脚本的文件名 |
$_SERVER["REQUEST_TIME"] |
请求开始时的时间戳 |
以上,阿里嘎多,20190426 from ahanwhite。