无参无返回

  1. /*
  2. * 无参无返回
  3. *
  4. */
  5. function func2(){
  6. echo "this is func2";
  7. }

有参无返回

  1. /*
  2. * 函数
  3. * 有参有返回,无参无返回
  4. */
  5. function func1($name,$age){
  6. echo $name;
  7. echo $age;
  8. }

有参数有返回

  1. /*
  2. * 函数
  3. * 有参有返回,无参无返回
  4. */
  5. function func1($name,$age){
  6. echo $name;
  7. echo $age;
  8. return $name;
  9. }

匿名函数

  1. $test= function(){
  2. // 这里是匿名函数,
  3. // 调用方式: 通过一个变量保存匿名函数
  4. // 之后通过变量名() 的形式来进行调用
  5. echo "我是匿名函数";
  6. };
  7. $test();

PHP新特性

  1. // PHP 7 新特性
  2. function test(...$arr){
  3. var_dump($arr);
  4. }
  5. // ...arr 这样传餐的意思是吧数组里面的值
  6. // 一一的付给形参,类似于pytest的paramtized参数化注解
  7. test();

常用函数

字符串常用函数

  • strtolower() 转小写
  • strtoupper() 转大写
  • lcfirst() 首字母小写
  • ucfirst() 首字母大写
  • ucwords() 单词首字母大写
  • trim() 去掉空白字符

image.png

文件包含

  • 从一个php文件引入另外一个php文件内的内容

    1. <?php
    2. include('2.php');
    3. // include 饮用不存在的文件,报错之后代码会接着执行,只是报一个waring
    4. require('2.php');
    5. // require 如果饮用了不存在的文件,报错之后后续代码不会接着执行
    6. include_once()
    7. //语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过
    8. //,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
    9. require_once()

    数组

  • 索引数组, 下表就是数字开始的

  • $arr1 = [‘a’,’b’,’c’,’d’]
  • 关联数组, kv对应的数组,相当于字典
  • $arr = [‘js’=> ‘大数据’,’html’=> 页面,’css’=>’效果’]
  • 多唯数组

    数组增删查改

    • $arr[下标]
    • $arr[key] =value
    • 删除一个元素
    • unset($arr[下标])
    • $arr[key] = new_value

      数组常用函数

  • count() 取数组的长度。常常用于for循环

    1. for$i=0;$i<count($arr);$i++){
    2. echo $arr[$i].‘<br / >’;
    3. }
  • foreach表达式 ```php $arr =[‘a’=>’a1’,’b’=>’b1’] foreach($arr as $key => $value){ // 输出值 echo $value; // 输出key echo $key echo $arr[key]

} // 输出值简写 foreach ($arr as $val){ echo $val.’
‘ }

  1. - list()函数
  2. - list($a,$b) = $arr
  3. ```php
  4. 把数组中的值赋给一些变量:
  5. <?php
  6. $my_array = array("Dog","Cat","Horse");
  7. list($a, $b, $c) = $my_array;
  8. echo "I have several animals, a $a, a $b and a $c.";
  9. ?>
  • each()函数
  • each() 函数返回当前元素的键名和键值,并将内部指针向前移动。

该元素的键名和键值会被返回带有四个元素的数组中。两个元素(1 和 Value)包含键值,两个元素(0 和 Key)包含键名。
相关的方法:

超全局数组

  1. $_GET // 只用来接收GET请求
  2. $_POSt // 只用来接收post请求
  3. $_REQUEST // GET POST都可以
  4. $_SESSION // 会话相关信息
  5. $_COOKIE // 缓存
  6. # 实际应用
  7. $_GET['username']
  8. $_GET['password']

错误处理

  • php中的错误有三种
    • notice
      • 后续代码仍会执行
    • waring
      • 后续代码仍会执行
    • fatal error
      • 后续代码不会执行
  • 如果想要代码出现错误不提示的情况下,可以在方法前加上@符号,告诉php这行代码发生问题的时候不进行错误信息显示
  • 如果想要所有错误信息都不显示,需要修改php.ini文件,需要取到php环境下修改对应的配置文件

    • 配置中的字段为 display_error 默认为On
    • error_log 则为错误日志保存路径属性,可自行定义

      时间处理

      Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间。
      https://www.w3school.com.cn/php/php_ref_date.asp
  • 时间戳

    1. <?php
    2. $time=time();
    3. date_default_timezone_set("PRC") // 设置时区
    4. 第二种方式去设置时区,(修改php.ini配置文件

超级全局变量

  • PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
  • PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
  • $GLOBALS
    • 引用全局作用域中可用的全部变量, ```php <?php $x = 75; $y = 25;

function addition() { // 使用的时候直接通过GLOBALS数组进行键值对应读取即可 $GLOBALS[‘z’] = $GLOBALS[‘x’] + $GLOBALS[‘y’]; }

addition(); echo $z; ?>

  1. - $_SERVER
  2. - $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。
  3. 下面的例子展示了如何使用 $_SERVER 中的某些元素:
  4. ```php
  5. <?php
  6. echo $_SERVER['PHP_SELF'];
  7. echo "<br>";
  8. echo $_SERVER['SERVER_NAME'];
  9. echo "<br>";
  10. echo $_SERVER['HTTP_HOST'];
  11. echo "<br>";
  12. echo $_SERVER['HTTP_REFERER'];
  13. echo "<br>";
  14. echo $_SERVER['HTTP_USER_AGENT'];
  15. echo "<br>";
  16. echo $_SERVER['SCRIPT_NAME'];
  17. ?>
元素/代码 描述
$_SERVER[‘PHP_SELF’] 返回当前执行脚本的文件名。
$_SERVER[‘GATEWAY_INTERFACE’] 返回服务器使用的 CGI 规范的版本。
$_SERVER[‘SERVER_ADDR’] 返回当前运行脚本所在的服务器的 IP 地址。
$_SERVER[‘SERVER_NAME’] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
$_SERVER[‘SERVER_SOFTWARE’] 返回服务器标识字符串(比如 Apache/2.2.24)。
$_SERVER[‘SERVER_PROTOCOL’] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
$_SERVER[‘REQUEST_METHOD’] 返回访问页面使用的请求方法(例如 POST)。
$_SERVER[‘REQUEST_TIME’] 返回请求开始时的时间戳(例如 1577687494)。
$_SERVER[‘QUERY_STRING’] 返回查询字符串,如果是通过查询字符串访问此页面。
$_SERVER[‘HTTP_ACCEPT’] 返回来自当前请求的请求头。
$_SERVER[‘HTTP_ACCEPT_CHARSET’] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
$_SERVER[‘HTTP_HOST’] 返回来自当前请求的 Host 头。
$_SERVER[‘HTTP_REFERER’] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
$_SERVER[‘HTTPS’] 是否通过安全 HTTP 协议查询脚本。
$_SERVER[‘REMOTE_ADDR’] 返回浏览当前页面的用户的 IP 地址。
$_SERVER[‘REMOTE_HOST’] 返回浏览当前页面的用户的主机名。
$_SERVER[‘REMOTE_PORT’] 返回用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER[‘SCRIPT_FILENAME’] 返回当前执行脚本的绝对路径。
$_SERVER[‘SERVER_ADMIN’] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
$_SERVER[‘SERVER_PORT’] Web 服务器使用的端口。默认值为 “80”。
$_SERVER[‘SERVER_SIGNATURE’] 返回服务器版本和虚拟主机名。
$_SERVER[‘PATH_TRANSLATED’] 当前脚本所在文件系统(非文档根目录)的基本路径。
$_SERVER[‘SCRIPT_NAME’] 返回当前脚本的路径。
$_SERVER[‘SCRIPT_URI’] 返回当前页面的 URI。
  • $_REQUEST
    • 用来收集HTML表单提交的数据 ```php
Name:
# 当用户点击提交表单数据时,表单数据将发送到
标签的action属性中指定的脚本文件。 # 然后可以使用超全局变量$_REQUEST 来收集input字段的值 <?php $name = $_REQUEST[‘fname’]; echo $name; ?> - $_POST - 被用来收集提交 method=“POST” 的html表单后的表单数据,$_POST 也常用于传递变量php Name:

<?php $name = $_POST[‘fname’]; echo $name; ?>

```

  • $_GET
    • 主要用来收集HTML表单(method=“get”)之后的表单数据
    • $_GET也可以收集URL中发送的数据
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION