1.代码写在<?php?>单标签中
单行注释://
多行注释: /*注释内容*/
变量声明:$a=10;(只要以$开头的都是变量声明)
*:路径中不要出现中文(文件夹和文件名都不要出现中文)
*:结束的分号不能忘记
*:header方法: header('content-type:text/html;charset=utf-8');
设置文本编码
设置编码格式为:utf-8
header('content-type:text/html; charset= utf-8');
设置页面跳转
设置跳转到百度首页
header('location:http://www.baidu.com');
设置页面间隔刷新
header('refresh:3; url=http://www.xiaomi.com');
*:PHP变量规则:
-
- 变量以
$
符号开头,其后是变量的名称 - 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(
A-z
、0-9
以及_
) - 变量名称对大小写敏感
- 变量以
// 变量以`$`符号开头,其后是变量的名称
// 变量名称必须以字母或下划线开头
$a;
$b;
$a1;
$_abc;
// 变量名称不能以数字开头
// 变量名称只能包含字母数字字符和下划线(`A-z`、`0-9` 以及` _`)
// 下面这些是错误的变量定义
$1;
$哈哈;
$^&*;
//变量名称对大小写敏感(`$y` 与`$Y` 是两个不同的变量)
// 下面定义的两个变量是不同的,大写,小写x
$x;
$X;
- 数据类型
-
PHP
支持的数据类型包括:字符串,整数,浮点数,布尔,数组,对象,NULLL(注:由于对象中可以使用函数,故对象的语法在下文中会提及)- 定义字符串时需要注意:
- 单引号:
``
内部的内容只是作为字符串 - 双引号:
""
如果内部是PHP
的变量,那么会将该变量的值解析
- 单引号:
- 字符串连接:不同于
JavaScript
,PHP
中使用.
进行连接
- 定义字符串时需要注意:
// 字符串
$str = '123';
// 字符串连接
$str2 = '123'.'哈哈哈';
// 字符串
// 整数
$numA = 1; //正数
$numB = -2;//负数
// 浮点数
$x = 1.1;
// 布尔
$a = true;
$b = false;
// 数组
$arr = array('123',123)
-
运算符
PHP
中的运算符跟JavaScript
中的基本一致,用法也基本一致- 算数运算符:
+
,-
,/
,*
,%
- 赋值运算符:
x = y
,x += y
,x -= y
注:这里列举的并不完全,更为详细的PHP
运算符教程请查阅w3cschool_PHP运算符
- 算数运算符:
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出 16
echo ($x - $y); // 输出 4
echo ($x * $y); // 输出 60
echo ($x / $y); // 输出 1.6666666666667
echo ($x % $y); // 输出 4
?>
- 函数:
PHP
虽然系统内建了一些函数,但是这不影响我们定义自己的. 函数的作用就是在代码中可以重复使用的语法块
,页面加载的时候不会执行,只有在被调用
的时候才会执行
// 基础语法
function functionName() {
这里写代码
}
// 无参数 无返回值的函数
function sayhi(){
echo "Hello World";
}
// 有参数 无返回值的函数
function sayName($name){
echo $name.'你好哦';
}
// 调用
sayName('小狐狸');
// 有参数,参数有默认值的函数
function sayFood($food='西兰花'){
echo $food.'好好吃';
}
// 调用
sayFood('西葫芦');// 如果传入参数,就使用传入的参数
sayFood();// 如果不传入参数,直接使用默认值
// 有参数,有返回值的函数
function sum($a,$b){
return $a+$b
}
sum(1,2);// 返回值为1+2 = 3
- 对象 PHP中允许使用对象这种,自定义数据类型. 使用时必须先声明,实例化之后才能够使用
// 定义最基础的类
class Fox{
public $name = 'jack';
public $age = 10;
}
$fox = new $fox;
// 对象属性取值
$name = $fox->name;
// 对象属性赋值
$fox->name = '小狐狸';
// 带构造函数的对象
class fox{
// 私有属性,外部无法访问
var $name = '小狐狸';
// 定义方法 用来获取属性
function Name(){
return $this->name;
}
// 构造函数,可以传入参数
function fox($name){
$this->name = $name
}
}
// 定义了构造函数 需要使用构造函数初始化对象
$fox = new fox('小狐狸');
// 调用对象方法,获取对象名
$foxName = $fox->Name();
2.输出内容:
关键字:echo '输出分的内容'
*在输出的内容中可以写html标签,页面中只会输出标签中的内容,标签不会输出;
print_r方法:print_r($_GET)
*输出一个关系型数组
3.for循环语法:for($i=0;$i<10:$i++){
循环体
}
4.字符串的拼接使用.
eg:
$num=10;
echo'我要拼接'.$num;
结果:我要拼接10
5.数组
普通数组:$arr=array(1,2,3,'jack','rose')(元素可以是数字、字符串、对象)
获取数组中的值:$arr[1] 结果:2
数组中获取一个随机的值:
array_rand(参数1,参数2)
参数1:随机的数组
参数2:取几个值
关系型数组:$arr=array('name'=>'小王','age'=>'20')
*: 取值的时候使用key
eg:$arr['name']======>结果为小王
*:key可以为数字
eg:$nameArr=array(0=>'小王',1=>'小李')
*:关系型数组的循环:
foreach(数组名 as $key=>$value)
获取数组长度的方法:count()
count(数组名)
6.单双引号的区别
如果只是想要单纯的输出或者定义字符串,单双引号没有区别
如果双引号中使用的字符串名刚好和一个变量的名字一样,那么会将变量替换进去
7.php中的超全局对象
$_GET:会将get提交的数据放置在这个关系型数组中
*:Array([key1]=>value1 [key2]=>value2)
获取值:
eg:$userName=$_GET['name']
$passWord=$_GET['pass']
$_POST:将post方法提交的数据放置在关系型数组中
$_FILES:获取上传的文件
8.将php嵌入html标签使用
html代码不会被更改,而php中的代码会被执行掉,将结果留在那个位置
html页面动态化就是在需要修改的地方嵌入php标签,输出想要输出的内容即可
9.如果php文件直接在浏览器打开本地文件,会直接返回全部代码,而不会返回执行后打结果。
10.让php代码停顿一会再执行
sleep(2) 括号内写秒
11.移动上传的文件:move_uploaded_file(要移动的文件,要移动到的位置)
12.读取文件:
把文件读入一个字符串中:file_get_contents(url)
把文件写入一个字符串中:file_put_contents(url)
13.分割字符串:
explode(分隔符,字符串)生 成的结果是一个数组
14.将字符串转化为php中的对象或者数组:json_decode(string)
将php对象转化为json格式的字符串:json_encode(obj)
注:转化为json格式之后,再返回给浏览器,虽然中文会进行编码,在js中转为js对象时,是能够看到中文的
print_r会将php中的对象或者数组的值转化为字符串进行解析