基础知识
是一种开源脚本语言 超文本预处理器 php完全免费下载 php运行需要在服务器上边执行 使用phpstudy进行搭建
php文件是什么
- php文件包含文本 html javascript组成php代码
- php文件的后缀.php
- php虽然是运行服务器上边,但是最终会被以html格式进行解析 返回给浏览器
php能做什么
- php可以生成动态的网页内容
- php可以创建 读写 删除 更新数据库 上传 下载服务器文件
- php可以收集表单数据
- php可以发送和接受cookie
- php可以加密数据
- php可以限制用户访问网站上边的一些页面
php语法
- php文件以.php后缀表示
- php文件包含html标签和一些php脚本代码
- php脚本可以放置在文档的任意地方
- php脚本以<?php 开头 以?>结束
- php运行在服务器上边的
- php每段代码结束必须以分号结束 分号相当于分割符
- 注释 // 这是php单行注释 / /多行注释
php变量规则
- 变量以$开始 后边跟着变量的名称
- php没有声明变量的命令,变量在第一次赋值的时候就会被创建
- 变量名必须以字母或者是下划线开始
- 变量名只能包含数字 字母或者下划线(A-z 0-9)
- 变量名不能加空格
- 变量名区分大小写($Y $y) 是两个不同的变量
- 在所有的函数外定义的变量 拥有全局的作用域 在php函数内部声明的变量 仅能在函数内部进行访问
- echo “输出的结果: $y”; $y可以以变量的形式进行读取 注意这里的引号必须是双引号 单引号不能生效
- 直接输出的文本,使用单引号或者双引号都可以
- 如果同一个变量名重复赋值,那么它取到的是最后一次赋上去的值
输出方式
echo
print_r()
$a = array ('a' => 'apple', 'b' => 'banana');
print_r ($a);
//Array
(
[a] => apple
[b] => banana
)
数据类型
基本数据类型
布尔型(boolean)
字符串型(string)
整型(integer)
浮点型(float)
复杂数据类型
数组(array)
数组就是数据的组合,指将一组数据存储到一个指定的容器中,用变量指向该容器,然后可以通过变量一次性得到该容器中的所有数据。
PHP中的数组存储位置是堆区,为当前数组分配一块连续的内存
定义数组
1、使用array关键字
2、可以使用中括号来包括数据
3、隐形定义数组,给变量增加一个中括号,系统会自动将该变量变成数组
$arr[] = 值1;
$arr[下标] = 值;
数组特点
1、下标可以是数字,也可以是字符串
如果下标都是整数,即为索引数组 如果下标都为字符串,即为关联数组
2、不同形式的下标可以混合存在, 即为混合数组
3、数组元素的顺序以放入顺序为准,跟下标无关(这个和js区别很大,搞清楚!!!)
$arr[] =1;
$arr['key'] = 'key';
$arr[1] = 32;
var_dump( $arr); //array(3) {[0]=>int(1) ["key"]=>string(3) "key"[1]=int(32)}
//数组的排列顺序不是按下标号来排的,按放入顺序来排
4、数组下标的自增长特性
从0开始自动增长,如果中间手动出现较大的,那么后边的自增长元素从最大的值+1开始
5、PHP中数组元素没有类型限制
6、PHP中数组元素没有长度限制
数组遍历foreach
foreach($数组名 as $x){ //如果as后边只有一个值的时候,那个值表示的是每一项上的值
echo $x;
};
foreach($数组名 as $x=>$y){ //如果as后边只有两个值的时候,第一个表示键名,第二个表示键值
echo $x.$y;
};
$arr = array("name"=>"张三","age"=>"23","sex"=>"男");
foreach($arr as $x=>$y){
echo $x.$y;
}
数组排序
数值型数组排序
- sort() 升序排列
- rsort() 降序排列
关联型数组排序
- ksort() 根据关联数组的键进行升序排列
- krsort() 根据关联数组的键进行降序排列
- asort() 根据关联数组的值进行升序排列
- arsort() 根据关联数组的值进行降序排列
判断数据类型 var_dump($arr);
访问数组中的某一个值 $arr[n] n表示下标索引
想要获取数组的长度 count($arr)
$arr = array(1,2,65,75,32);
var_dump($arr); //array(5) {
[0]=>int(1)
[1]=>int(2)
[2]=>int(65)
[3]=>int(75)
[4]=>int(32)
}
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
创建方式有两种:
//方式一:索引是自动分配的(索引从 0 开始)
$cars=array("porsche","BMW","Volvo");
//方式二:手动分配索引
$cars[0]="porsche";
$cars[1]="BMW";
$cars[2]="Volvo";
//遍历数组
$cars = array('porsche','BMW','Volvo');
$length = count($cars);
for($i=0;$i<$length;$i++){
echo $cars[$i];
}
关联数组 - 是使用您分配给数组的指定键的数组。
有两种创建方式:
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
$age['Bill']="63";
$age['Steve']="56";
$age['Elon']="47";
遍历关联数组
对象(object)
对象类型在php中使用class关键字来进行声明 类对象
class test {
function demo() {
echo 'hello';
}
}
$a=new test; // 使用new实例化一个类
$a->demo(); // 可以使用->访问当前对象下边的函数或者属性
$b=123;
$c=456;
// echo $b,$c;
// echo $b.$c;
echo strlen($b);
echo strlen($b.$c);
print($b);
print $b;
// print echo都可以进行打印输出 一般情况下我们使用echo echo print输出内容都可以添加括号,
//但是一般情况下我们都是直接进行输出不使用括号
特殊资源类型
资源(resource)
空值(null)
$a="测试数据";
$b= null;
$a= null; //a被重新赋值了,取的是最后一次的值
echo $a;
echo $b; //页面中为空,什么都没有输出
方法
判断数据类型 var_dump()
判断一个变量的> 类型与> 长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。如果括号中的变量不存在,返回null
$arr = array(1,2,65);
$arr2='123';
//array(5) {
[0]=>int(1)
[1]=>int(2)
[2]=>int(65)
}
var_dump($arr2); //string(3) "123"
获取字符串的长度 strlen(变量)
返回字符串的长度。
$str = '123456789';
echo strlen($str); //9
箭头的用法
->
对象执行方法的时候用的,或者是取属性的时候 用
=>
数组中键和值对应的时候用的
$a = array('0' => '1','1'=>'2','2'=>'3')
超级全局变量
名字听着有点6,其实质还是一个变量 并且是系统自带的变量,所以就意味着可以直接调用,不用声明 要想获取前台的数据,就要用超级全局变量
$GLOBALS
$GLOBAL 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。 $GLOBAL 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
$_REQUEST
用于收集HTML表单提交的数据。
$_POST
应用于收集表单数据 在HTML form标签的指定该属性:”method=”post”。
$_GET
应用于收集表单数据 也可以用于页面之间传数据,页面一跳转到页面二的时候,可以在跳转链接上携带参数过来,如?id=1, 那么第二个页面的php文件中写$_GET[‘id’],就可以获取到参数值了
$_FILES
用于收集上传的文件
$_COOKIE
取cookie中的数据