简介:PHP是一种通用开源脚本语言,运行在服务器端
执行原理:
客户端向服务器发送一个请求,如果请求的是HTML,则服务器将HTML页面发给客户端浏览器解析,如果请求的是PHP,则服务器将运行PHP页面然后生成标准的HTML,再发给客户端
四种定界符:非标准风格需在配置文件php.int中设置启用
标准风格 短标记风格 asp风格 Script风格
<?php <? <% <script language="php"
…… …… …… ……
?> ?> %> </script>
变量:以$开头,字母、下划线开头
传值:$b=$a;
传址:$b=&$a;
销毁变量:unset($a)->销毁的是变量名,地址指向的值仍存在,由GC销毁
可变变量:
$a='abc';
$b='a';
echo $$b;
结果:abc
解释:$$b相当于$b做为变量名,而$b又是'a',所以$$b等价于$a
常量:
- 函数define(name,value,case_insensitive) 第三个参数为是否区分大小写
- 函数defined(name) ->检查该名称常量是否已定义
数据类型
四种标量类型:
integer;float;boolean;string(有单引号和双引号)
- 'string'是真正的字符串
- "string"会解析其中的$变量
两种复合类型:
- 数组:
索引数组,以数字做下标:默认从0开始,可更改起始下标
$tmp=array('tom','john','kevin')
echo $tmp[0];//tom
关联数组,以键值对形式:
$tmp=array('name'=>'tom','sex'=>'male','age'=>22);
echo $tmp['name'];//tom
echo $tmp['sex'];//male
echo $tmp['age'];//22
输出数组:print_r($tmp)
- 对象: object(待补充)
特殊类型:
- resource(资源):PHP的外部数据
- NULL(无类型)
输出语句:
- echo:只能输出数字、字符串、对于布尔型,TRUE输出1,FALSE输出0,支持多个参数,无返回值
- print_r():输出数组,包括键和值,不包括数据类型;
- var_dump()d:对于普通变量输出值和类型,对于数组输出键值和数据类型;
- print:与echo唯一区别:仅支持一个参数,有返回值
注释:
- 单行注释://或#
- 多行注释:/.../
运算符:
算数运算符:+、-、*、/、% 注意:+只能做数字运算,不能做字符串相加
比较运算符:>、>=、<、<=、==(值相等)、!=、===(全等于:值和数据理性都相等)、!==(不全等于)
逻辑运算符:&&、||、!
字符串连接符:. 不能用+
赋值运算符:=、+=、-=、*=、/=、%=、.=(字符串连接)
三元运算符:表达式?值1:值2,表达式为真返回值1,表达式为假返回值2
小例子:判断奇偶数
在HTML中构建表单<form name="form1" method="post" action="">
其中method="post"代表提交方法为POST action代表提交的目的地,=""代表提交到本页面
表单中添加一个文本框<input type="text" name="num" id="num">
和一个提交按钮<input type="submit" name="buttom" id="buttom" value="提交">
通过在页面上输入数字点击提交按钮将该数字通过POST方法传给本页的PHP代码
<?php
if(isset($_POST['num'])) //$_POST获得POST提交的数据 isset()函数判断该变量是否设置
{ //因为第一次打开页面时还未POST数据,若不判断会报错
$num=$_POST['num']
if($num%2==0)
{
echo "{$num}是偶数";
}
else
{
echo "{$num}是奇数";
}
}
?>
进一步优化,is_numeric()函数:判断变量是否为数字或数字字符串,is_int():判断变量是否为整数
数字字符串转为整形:$a='1010'; $a=$a+0;
条件语句:与C类似->if、else、switch
循环语句:
for语句:for($i=1;$i<10;$i++)
while语句:while($i<10)
do-while语句:do{...}while($i>10);
foreach语句: 遍历数组
语法1:无键 foreach (数组名 as $value)//将数组$stu中的值依次赋给$value
语法2:有键 foreach (数组名 as $key => $value)将数组$stu中的键和值依次赋给$key和$value
跳转语句:与C类似
break:结束整个循环
continous:结束本次循环
函数:
Function (函数名)
{
//函数体
(return)
}
二维数组;