一、PHP简介
- PHP超文本预处理器。是嵌入HTML文件中的服务器端脚本程序。换句话:PHP只能运行在服务器上。
- 一个HTML文件中,可以包含的代码:HTML代码、CSS代码、JS代码、PHP代码等。
PHP的主要功能:web应用开发(线上产品)。
- PHP入门比较简单,语法与C、Java、C#、JS等相似。
- PHP主要用函数做各种操作,而JS主要用内置对象作操作。
二、PHP语言基础
- PHP代码,跟ASP一样,都是嵌入到HTML文件中去的。
- PHP代码标记:<?php …… ?>
- PHP文件的扩展名:.php
- PHP文件的执行,必须从域名开始访问(必须要经过虚拟主机)。
- 访问PHP文件的路径上,不能包含空格和中文。
- PHP也是区分大小写,但关键字和函数名不区分大小写。
- PHP中每条语句,必须以英文下的分号结束(;)。
三、PHP注释
- HTML注释:<!—注释内容 -->
- CSS注释:/* */
- JS注释://或/* */
注意的功能:是为以后修改项目时,找问题非常方便。
- PHP的单行注释://或#
- PHP的多行注释:/* */
提示:多行注释不能相互嵌套。
注意:PHP的注释,与代码一样,最终在客户端都是不可见。
四、PHP变量
1、变量的概念
变量是临时存储数据的容器。
2、变量的命名规则
- 变量名可以包含:a-z、A-Z、0-9、_(下划线)。
- 变量名不能以数字开头。
- 变量名可以以字母或下划线开头。
- PHP的变量前,必须以“$”符号开头,但不是变量名的一部分。如:$name、$age
- 对长文件名,如何命名呢?
“驼峰式命名”:$getUserName、$getUserPassword
“下划线式命名”:$get_user_name、$get_user_pwd
3、写程序的一般思路
- 变量初始化。
- 项目运行的过程。
- 输出结果。
4、变量赋值
使用“=”将右边的运算结果,赋给左边的变量名。换句话说:将“=”右边的数据,装到左边容器中。
$name = “abc”;
$name = 100 + 200;
$name+10 = 100; (//错误的写法)
PHP变量的数据类型
提示:变量本身没有类型之分,变量的数据才有类型之分。
JS 中变量的数据类型:
基本数据类型(只有一个值):字符型、数值型、布尔型、NULL、undefined
复合数据类型(可能有多个值):数组、对象、函数。
PHP 中变量的数据类型:
标量数据类型:字符串型、整型、浮点型、布尔型
复合数据类型:数组、对象
特殊数据类型:资源、NULL
1. 整型
整型的取值范围:-21亿~21亿
2. 浮点型(小数:有限小数、无限小数)
浮点型取值范围:-1.7E-308~1.7E+308
举例:9E3 => 9*10^3 = 9000
3. 字符串型
字符串的表示方法有三种:
(1)用单引号
单引号内的转义字符,只能是:\\、\’
<?php //用单引号表示字符串 $str =‘自挂\‘东南\\枝‘; echo $str;?>
(2)用双引号
双引号内,所有的转义字符都能使用。如:\、\’、\”、$、\n、\r、\t
(3)长字符串的表示方法
- 长字符串表示,必须放在“<<<heredoc”和 “heredoc;”之间。
- “<<<heredoc”必须是开头的标记。
- “heredoc;”必须是结束的标记。必须是单独一行,并且顶头写。
- heredoc可以自定义名称。
- 可以直接解析PHP变量。
//长字符串的表示方法
$name = "林长生";
$edu="北京理工大学";
$str = <<<heredoc
<p onMouseOver="pOver(this)" onMouseOut="pOut(this)">
1.tornado
2.Python 和Ruby,scala
3.semantic UI 和 Element UI
4.app hybrid开发
5.backbone
6.Grunt,Gulp
7.Ember.js ,chart.js,undescore.js
8.typescript
9.RESTful service
浏览器兼容问题
解决人: {$name} 来自: {$edu}
</p>
<script type="text/javascript">
function pOver(pObj){
pObj.style.backgroundColor="skyblue";
}
function pOut(pObj){
pObj.style.backgroundColor="";
}
</script>
heredoc;
echo $str;
(4)字符串的注意事项
- 在双引号内,输出是变量的值。如:echo “{$name}的年龄是24岁”
- 在单引号内,输出的是变量的名称,而不是值。
- 在双引号内,如果一个变量名后跟一个非空字符,则会让编译器糊涂。这种情况解决方案是:后面可以跟一个空格字符,也可以跟英文下的标点符号,这些都会解析变量的。
可以使用大括号,将变量包起来,也能解析变量的。
4. 布尔型
$a = true;
$b = false;
布尔值,常用在条件判断中。如:if、while、for等。
5. 资源类型
资源类型:是指PHP对外部数据的一个引用。如:数据库、文件操作、图片验证码等。
<?php
//PHP链接MySQL数据库(旧的,将要移除)
// $link = mysql_connect("localhost","root","");
// echo $link;
header("content-type:text/html;charset=utf-8");
$servername = "localhost";
$username="root";
$password="";
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
die("数据库连接失败:".$conn->connect_error);
} else {
echo "数据库连接成功";};
?>
6. NULL
空型:当使用一个不存在的变量时,返回空型。空型一般认为变量不存在。
空型只有一个值,就是NULL,不区分大小写。
PHP变量的类型判断
1. var_dump()
描述:打印变量的相关信息(包括变量的类型和值)
语法:void var_dump ( mixed $expression [, mixed $... ] )
参数:$expression是指要打印变量的名称,可以是多个变量,多个变量之间用逗号隔开。
返回值:无。
2. is_()*
is_bool():判断变量是不是布尔型。
is_int():判断变量是不是整型。
is_float():判断变量是不是浮点型。
is_numeric():判断变量是不是数值型。
is_string():判断变量是不是字符串。
is_array():判断变量是不是数组
is_object():判断变量是不是对象
is_null():判断变量是不是空型。
is_resource():判断变量是不是资源型。
3. isset()
描述:检测变量是否设置。
语法:bool isset ( mixed $var [, mixed $... ] )
返回值:如果变量存在,且不等于NULL,则返回TRUE。否则,返加FALSE。
<?php
//form表单提交
// if(isset($_GET)){
// //打印全局数组的信息
// var_dump($_GET);
// }
if(isset($_POST["username"])){
//获取表单元素的值
$username = $_POST["username"];
echo "用户名:{$username}";
}
?>
<form name="formal" method="get" action="">
用户名:<input type="text" name="username">
密码: <input type="password" name="userpwd">
<input type="submit" value="提交表单">
</form>
4. empty()
描述:检查一个变量是否为空
语法:bool empty ( mixed $var )
说明:换句话说,""、0、"0"、NULL、FALSE、array()、var $var;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
PHP如何获取表单提交数据
1. 超全局数组变量:$_GET[]
描述:获取表单 method = “get” 提交的数据
举例:$username = $_GET[“username”];
<?php
//form表单提交
// if(isset($_GET)){
// //打印全局数组的信息
// var_dump($_GET);
// }
if(isset($_POST["username"])){
//获取表单元素的值
$username = $_POST["username"];
echo "用户名:{$username}";
}
?>
<form name="formal" method="get" action="">
用户名:<input type="text" name="username">
密码: <input type="password" name="userpwd">
<input type="submit" value="提交表单">
</form>
2. 超全局数组:$_POST[]
描述:获取表单 method = “post” 提交的数据
举例:$username = $_POST[“username”];
变量之间的运算,必须是同类型的。如果类型不同,则必须转成同类型,然后再运算。
变量类型的转换:系统自动转换、强制转换(手动转换)
PHP数据类型转换
1. 其它类型转成布尔型
2. 其它类型转成数值型
3. 其它类型转成字符型(了解)
PHP运算符
1. 算术运算符:+、-、*、/、%、++、--
“%”取余。两个数相除取余数。如果余数为0,说明能除尽。
举例:10 % 3 = 1 //余数为1,说明10不能被3整数-
“++”自加1。有两种用法:作前缀(++$i)和作后缀($i++)。
(1) 如果单独使用,$i++和++$i,结果一样。(2) 如果将$i++和++$i,混在其它表达式当中,则结果不一样。
$c = $a+++10; //等于$c = ($a++)+10
2. 字符串运算符:.或.=
3. 赋值运算符:=、+=、-=、*=、/=、%=
“=”赋值号。将右边运算结果,赋给左边变量。
“+=”先加后等。$a += 10 //展开后 $a = $a+10
“-=”先减后等。$a -= 10 //展开后 $a = $a – 10
“*=”先乘后等。$a *= 10 //展开后 $a = $a * 10
4. 比较运算符:>、<、>=、<=、==、!=、===、!==
注意:比较运算符的运算结果,就是一个布尔值。
“=”赋值号。
“==”是等于。判断值是否相等,不管类型。如: 10 == “10px” //true
“===”全等于。判断类型是否一致,还要判断值是否相等。10 === “10px” // false
5. 逻辑运算符:&&、||、!
“&&”逻辑与(并且关系)。如果左右两个操作数的结果都为TRUE,则总结果为TRUE。只要有一个为FALSE,则总结果为FALSE。
“!”逻辑非(取反)。
!TRUE = false
!100 = false
三元运算符
二元运算符:是左右有两个操作数。如:+、-、*、/
三元运算符:是三个操作数或者表达式。
运算符优先级