基础知识

是一种开源脚本语言 超文本预处理器 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()

  1. $a = array ('a' => 'apple', 'b' => 'banana');
  2. print_r ($a);
  3. //Array
  4. (
  5. [a] => apple
  6. [b] => banana
  7. )

数据类型

基本数据类型

布尔型(boolean)

字符串型(string)

整型(integer)

浮点型(float)

复杂数据类型

数组(array)

数组就是数据的组合,指将一组数据存储到一个指定的容器中,用变量指向该容器,然后可以通过变量一次性得到该容器中的所有数据。

PHP中的数组存储位置是堆区,为当前数组分配一块连续的内存

定义数组

1、使用array关键字

$arr = array('标题一','标题二');
**

2、可以使用中括号来包括数据

$arr = [元素1,元素2...];
**

3、隐形定义数组,给变量增加一个中括号,系统会自动将该变量变成数组

$arr[] = 值1; $arr[下标] = 值;

数组特点

1、下标可以是数字,也可以是字符串

如果下标都是整数,即为索引数组 如果下标都为字符串,即为关联数组

2、不同形式的下标可以混合存在, 即为混合数组

3、数组元素的顺序以放入顺序为准,跟下标无关(这个和js区别很大,搞清楚!!!)
  1. $arr[] =1;
  2. $arr['key'] = 'key';
  3. $arr[1] = 32;
  4. var_dump( $arr); //array(3) {[0]=>int(1) ["key"]=>string(3) "key"[1]=int(32)}
  5. //数组的排列顺序不是按下标号来排的,按放入顺序来排

4、数组下标的自增长特性

从0开始自动增长,如果中间手动出现较大的,那么后边的自增长元素从最大的值+1开始

5、PHP中数组元素没有类型限制

6、PHP中数组元素没有长度限制

数组遍历foreach

  1. foreach($数组名 as $x){ //如果as后边只有一个值的时候,那个值表示的是每一项上的值
  2. echo $x;
  3. };
  4. foreach($数组名 as $x=>$y){ //如果as后边只有两个值的时候,第一个表示键名,第二个表示键值
  5. echo $x.$y;
  6. };
  7. $arr = array("name"=>"张三","age"=>"23","sex"=>"男");
  8. foreach($arr as $x=>$y){
  9. echo $x.$y;
  10. }

数组排序

数值型数组排序
  • sort() 升序排列
  • rsort() 降序排列

关联型数组排序
  • ksort() 根据关联数组的键进行升序排列
  • krsort() 根据关联数组的键进行降序排列
  • asort() 根据关联数组的值进行升序排列
  • arsort() 根据关联数组的值进行降序排列

判断数据类型 var_dump($arr);

访问数组中的某一个值 $arr[n] n表示下标索引

想要获取数组的长度 count($arr)
  1. $arr = array(1,2,65,75,32);
  2. var_dump($arr); //array(5) {
  3. [0]=>int(1)
  4. [1]=>int(2)
  5. [2]=>int(65)
  6. [3]=>int(75)
  7. [4]=>int(32)
  8. }

在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
创建方式有两种:

  1. //方式一:索引是自动分配的(索引从 0 开始)
  2. $cars=array("porsche","BMW","Volvo");
  1. //方式二:手动分配索引
  2. $cars[0]="porsche";
  3. $cars[1]="BMW";
  4. $cars[2]="Volvo";
  1. //遍历数组
  2. $cars = array('porsche','BMW','Volvo');
  3. $length = count($cars);
  4. for($i=0;$i<$length;$i++){
  5. echo $cars[$i];
  6. }

关联数组 - 是使用您分配给数组的指定键的数组。
有两种创建方式:

  1. $age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
  1. $age['Bill']="63";
  2. $age['Steve']="56";
  3. $age['Elon']="47";

遍历关联数组

多维数组 - 包含一个或多个数组的数组

对象(object)

对象类型在php中使用class关键字来进行声明 类对象

  1. class test {
  2. function demo() {
  3. echo 'hello';
  4. }
  5. }
  6. $a=new test; // 使用new实例化一个类
  7. $a->demo(); // 可以使用->访问当前对象下边的函数或者属性
  8. $b=123;
  9. $c=456;
  10. // echo $b,$c;
  11. // echo $b.$c;
  12. echo strlen($b);
  13. echo strlen($b.$c);
  14. print($b);
  15. print $b;
  16. // print echo都可以进行打印输出 一般情况下我们使用echo echo print输出内容都可以添加括号,
  17. //但是一般情况下我们都是直接进行输出不使用括号

特殊资源类型

资源(resource)

空值(null)

  1. $a="测试数据";
  2. $b= null;
  3. $a= null; //a被重新赋值了,取的是最后一次的值
  4. echo $a;
  5. echo $b; //页面中为空,什么都没有输出

方法

判断数据类型 var_dump()

判断一个变量的> 类型与> 长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。如果括号中的变量不存在,返回null

  1. $arr = array(1,2,65);
  2. $arr2='123';
  3. //array(5) {
  4. [0]=>int(1)
  5. [1]=>int(2)
  6. [2]=>int(65)
  7. }
  8. var_dump($arr2); //string(3) "123"


获取字符串的长度 strlen(变量)

返回字符串的长度。

  1. $str = '123456789';
  2. 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中的数据