了解php

  • 了解神器:phpstudy 一键搭建php环境

语法:

​ php是一种可以嵌套在html页面的脚本语言

  • 嵌套html文件:

    <!doctype html>
    <html>
        <head>
            <title>php</title>
        </head>
        <body>
          <?php
              // php代码;
          ?>
        </body>
    </html>

    php同时也可以以 “*.php” 文件单独保存和被访问,但是在php文件中,也必须以 “< ? ” 开头, ”?>”结束!php代码只会在这里被执行和解析

  • php对大小写敏感识别
  • php支持目前主流的三种注释:双斜杠,“#”号,多行注释

变量:

变量规则:

  • 变量以$符号开头
  • 变量名必须字母或下划线开头,由数字、字母、下划线组成变量名

  • php没有创建变量名的命令,变量赋值的过程就是创建的过程

作用域:

  • local(局部):只允许自己语法结构的语句访问(函数内部声明)

  • global(全局):允许当前php程序中所有的语法结构内的语句访问(函数之外声明)

    全局变量访问:

    ​ global关键字用于在函数内访问全局变量,在内部函数中访问全局变量必须在访问前使用global关键字。

    <?php
        $x = 5 ; 
      $y = 10 ; 
      function mytest(){
            global $x , $y ;
            $y = $x + $y ;
        }
      mytest();
      echo $y ;
    ?>
  • static(静态):变量执行的结果,下一回合不复位

    静态访问:

    ​ 在变量声明时,添加static声明,就可以在多次访问该变量而变量的变化不复位

    <?php
        function mytest(){
        static $x = 0 ; 
        echo $x ; 
        $x ++ ; 
      }
      mytest();
      mytest();
      mytest();
    ?>

输出:

echo输出:

  • 可以输出一个以上的字符串
<?php 
    echo '<p>hello,world!</p>';
 ?>

print输出:

数据类型:

字符串:

  • 字符串是字符序列,引号内的文本都属于字符串

整数:

  • 没有小数的数字组合(包括负数)

浮点数:

  • 不是整数的所有数字组合,以及科学计数

布尔逻辑数:

  • true和false

数组:

  • 一个变量中存储一个或多个值

  • 数组创建使用关键字“array”

    <?php
        $cars = array ("huawei","china","go!")s
        var_dump($cars);//返回数组的类型和值
    ?>
        // 运行结果
    // “array(3) { [0]=> string(6) "huawei" [1]=> string(5) "china" [2]=> string(3) "go!" }”

    关键字:var_dump 返回数组的大小,每一个参数值的数据类型等信息

对象:

  • 使用 “class” 关键字声明对象数据类型

    <?php
        class car {
        var $color ; 
        function car($color = "green") {
            $this -> color = $color;
        }
        function what_color(){
            return $this->color;
        }
      }
    ?>

null值:

  • 表示变量为空值(将值设置为null,代表清空变量值)

判断数据类型:

var_dump():
  • 打印变量的类型和值
  • 语法:void var_dump(mixed $expression)
  • 无返回值

is函数:
  • is_bool():判断是否为布尔值
  • is_float():判断是否为浮点型
  • is_int():判断是否为整型
  • is_numeric():判断是否为数值型
  • is_string():判断是否为字符串
  • is_array():判断是否为数组
  • is_object():判断是否为对象
  • is_null():判断是否为空
  • is_resource():判断是否为资源类型
isset():
  • 检查变量是否存在
  • 返回:变量存在返回 true
empty():
  • 检查变量是否为空(isset()只可以检测是否存在)
  • 返回:变量存在且非空 返回false(var = null 才认为是空)

php系统常量:

系统常量 说明
__ file __ php程序文件名
__ line __ php程序当前行号
php_version php程序版本号
php_os 操作系统名称
true
false
e_error 最近的错误
e_warning 最近的警告
e_parse 解析语法潜在问题
e_notice 不正常的错误

运算符:

算术运算符:

// + – * / % ++ —

加 减 乘 除 模 自加 自减

字符串运算符:

字符串连接符: .(点)

连接等于:. = (点 等于)

赋值运算符:

赋值: =

减等: -=

加等: +=

乘等:*=

除等:/=

取余等:%=

比较运算符:

大于、小于、大于等于、小于等于、等于、不等于

全等于:===

不全等:! ==

逻辑运算符:

逻辑与: and &&

逻辑或: or ||

逻辑非: not !

三元运算符:

条件运算符: ?:

控制结构:

if分支条件:

switch条件语句:

while循环:

do…while循环:

for循环:

控制函数:

略(break/continue)

数值的传递:*

赋值传递:(两个都不同的内存地址)

​ $a = $b ;

引用赋值:(两个变量同一个地址)

​ $a = &$b ;

数组:

数组类型:

  • 枚举数组:索引下标为整数
  • 关联数组:索引下标为字符串
  • 多维数组:数组元素是数组

创建数组:

  • 关键字:array() 创建数组

  • 标识符:
    • $arr[key] = value ;
    • $arr[] = value ;

数组函数:

print_r():打印变量信息
unset():删除数组元素
foreach():遍历数组元素
array_shift():
  • 将数组的第一个单元格移出并作为结果返回
array_pop():
  • 将数组的最后一个单元元素移出并返回
array_unshift():
  • 在数组最前面插入一个或多个元素
array_push():
  • 在数组的尾部插入一个或多个元素
array_values():
  • 返回数组中所有的值并建立数字索引
count():计算数值属性个数
array_sum():计算数值的和
array_reverse():返回一个反转数组
list():将数组元素赋值给变量
<?php 
    $intarray = array(2,5,9,13,7,9,21,7,9,24,38) ;
    $max = $intarray[0];
    $min = $intarray[0];
    $max_i = $min_i = 0;
    for ($i=0; $i < count($intarray) ; $i++) { 
        if ($max < $intarray[$i]) {
            $max = $intarray[$i] ; 
            $max_i = $i ;
        }
        if ($min > $intarray[$i]) {
            $min = $intarray[$i] ;
            $min_i = $i ; 
        }
    }
    echo "array_max:".$max."<br />max_i=".$max_i ;
    echo "<br /><br />";
    echo "array_min:".$min."<br />min_i=".$min_i ;
    echo "<hr />";
    // 位置交换
    echo "位置交换前:".print_r($intarray) ; 
    $m = $intarray[$min_i] ;
    $intarray[$min_i] = $intarray[$max_i] ; 
    $intarray[$max_i] = $m ;
    echo "<br />";
    echo "位置交换后:".print_r($intarray) ;
    echo "<hr />";
    // 反转数组
    echo print_r(array_reverse($intarray));
 ?>

元素/代码 描述
$_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。

函数:

  • 关键字:function name() { …… }

函数参数:

  • 值传递参数:

    在函数调用的时候,允许传递参数值给函数,函数可以自由使用参数进行操作

  • 引用传递参数:

    如果希望函数可以修改参数值,可以使用引用参数进行传递

    引用传递,只需要在参数前加上 “&” 符号就可以

    $arr = array(1,2,3,4);
    function addelement(&$arr){
        $arr[count($arr)] = 100;
        print_r($arr);   //在函数内输出$arr
    }
    addelement($arr);
    print_r($arr);  //在函数外输出
  • 默认值传递:

    function hobby($who,$style=‘运动’){
        echo “$who 喜欢 $style”;
    }
    hobby(“张三”,“唱歌”);
    hobby(“张三”);
  • global关键字:

    引用函数外部的参数(引用传递性质的参数)

    $name = "mary";//初始化变量
    function getname(){
        global $name; //引入外部的变量
        echo "我的名字叫:$name";
    }
    getname();

内置函数:

  • echo语句:输出
  • print语句:输出
  • include语句:包含并运行指定文件

  • require语句:包含并运行指定文件