zoukankan      html  css  js  c++  java
  • PHP

    一、php简介

    PHP超文本预处理器。是嵌入HTML文件中的服务器脚本程序。

    PHP代码标记:<?php …. ?>

    PHP文件的扩展名:.php

    PHP文件的执行:必须从域名开始访问

    PHP每条语句必须以英文(;)结束

    二、php基础语法

    ①   php变量

    php变量必须以”$”开头,例如:$name、$age

       不能以数字开头,最后按照驼峰命名法

       写在””引号中的变量最好用 { } 括起来,以免出现末端有字符不解析的情况

    ②  php数据类型

    标量数据类型:字符串型、整型、浮点型、布尔型

       复合数据类型:数组、对象

       特殊数据类型:资源、NULL

    (1)整型

    取值范围:-21亿~21亿

    (2)浮点型  (可以包含整数)

    取值范围:-1.7E-308~1.7E+308

    由于浮点数不能转换成精确的二进制,所以有时在运输时会出现错误,例如:(0.7+0.1)*10==8 结果为false

    (3)字符串型(在引号中,解析变量,需在变量后加上符合或者空格)

    1. 双引号“”

    双引号内解析变量的值

    1. 单引号‘’

    单引号内解析变量的名,直接在客户端显示$name

    1. 长字符串

    $Str = <<<heredoc   “heredoc”的名字可以随意取,按照变量命名规则

     ……. 填写字符串内容

    heredoc;   结尾“heredoc”必须另起一行,分号结束

    (4)资源型

    对第三方插件等的操作,如调用mysql数据库等,第三方的内容称之为资源

    (5)布尔型

    只有true或false两种类型值

    (6)NULL (空型)

    如果变量不存在,返回NULL,空型只有一个值,就是NULL

    (7)数组(一组数的集合,通过索引查找元素)

    a ) 数组的分类:

    1. 索引数组  (与js数组基本相同)

    数组的下标是从0开始的正整数,这样的数组称为“索引数组”

    $arr=array(10,20,30,40);

    $arr[0]=10;

    2.关联数组

    数组的下标是字符串,这样的数组称为“关联数组”

    $arr=array(“name”=>”Tabb”,”sex”=>”gender”,”age”=>”22”);

    由于关联数组没有整数型下标,所以不适合使用for循环来遍历

    3. 混合数组

    数组下标既有整型,也有字符串,这样的数组称为“混合数组”

    $arr = array("name" => "tabb", "age" => "20", "tom", 20);

    echo $arr[0] 输出结果为“tom”;说明整型下标是从”tom”开始计算的

    b ) 数组的创建:

    1. 使用array()函数创建数组:

    通过“=>”重载符号给数组元素指定下标

    如果数组元素没有指定下标,其下标为,当前最大索引+1,示例:

    $arr=array(20=>”tabb”,2=>”28”,20,”tom”) 其中”20”的索引为21,如果都是字符下标,那么没有指定下标的元素,索引从0开始

    使用array创建数组:

    $arr = array([$key=>]$value,[$key=>]$value,…);

    2. 使用[ ]中括号创建数组

    $arr[“key”]=$value

    不像js,可以不用先声明一个空数组,如果指定的数组不存在,会自动创建数组

            [ ] 中括号内容为空时,创建数组

            $arr[ ]=30;

    如果数组不存在,就会创建一个数组,并添加第一个元素

    如果数组存在,添加数组的元素的下标,是数组中的最大整形下标+1

    c ) 多维数组:

    array(array(1,2,3,4),1,2,3,array(1,2,3,4))

    使用[ ]中括号可以快速创建多维数组:

    $arr[ ][ ][ ][ ]=10; 快速创建一个4维数组

    d ) 数组相关函数:

    1. print_r ( )

    打印关于变量的易于理解的信息

    如果给出的数组或者对象,按照一定格式显示键和元素

    2. unset ( )

    删除数组元素,删除的是数组元素的值,下标还存在,不同于js的长度不变,此处删除元素后,数组长度发生变化

    删除变量

    3. count ( )

    计算数组中的单元数目或对象中的属性个数

    4. foreach ( )  只能用于遍历数组

    foreach( $arr as [$key=>]$value ){ } 如果是索引数组,[$key=>]这个内容可以不要

    ③  php数据类型判断

    (1) var_dump()

    打印变量的相关信息,可以打印多个变量,用”,”逗号隔开

    (2) is_*()  一组判断变量类型的方法,返回一个布尔值

    1. is_bool():判断变量是不是布尔型
    2. is_int():判断变量是不是整型
    3. is_float ():判断变量是不是浮点型
    4. is_numeric():判断变量是不是数值型
    5. is_string():判断变量是不是字符串型
    6. is_array():判断变量是不是数组型
    7. is_object():判断变量是不是对象型
    8. is_null():判断变量是不是空型
    9. is_resource():判断变量是不是资源型

    ……

    (3) isset()

    检测变量是否设置

    返回值:如果变量存在,且不等于NULL,返回true,否则,返回false

    (4) empty ( )

    检测一个变量是否为空,例如””,0,”0”,null,array(),var $var 以及没有任何属性的对象都将被认为是空,如果为空,返回值TRUE

    ④  数据类型的转换

    1)转换为bool (bool)

    $a = "0";

    $result = (bool)$a;

    var_dump($result)  结果为: bool(false)

    这些数据转换为bool值时为false:0、0.0、””、”0”、array()、null

    资源类型转换为bool永远为true

    2)转换为整型数值 (int)  (int)$name

    1.如果以数值开头的字符串,将整型部分转换为整型数值,去除后面的字符

    2.如果不是数值开头的字符串,转换为0

    3.bool值true转换为1,false转换为0,null转换为0

    3)转换为浮点数值 (float)  (float)$name

    1.如果以数值开头的字符串,将数字部分转换为数值(包含浮点部分),去除后面的字符

    2.如果不是数值开头的字符串,转换为0

    3.bool值true转换为1,false转换为0,null转换为0

    4)转换为字符串 (string)  (string)$name

    1.null、false转换为””,空字符串

    2.true转换为字符串“1”

    ⑤  php运算符

    1)数值运算符(+-/*%++--

    使用方法与js中的使用方法基本相同

    2)字符串运算符

    “.”点运算符表示字符串链接符,与js中用”+”号拼接字符串类似

    $a=”abc”;

    $b=$a.100  或者使用”.=”表示自己与自己链接字符串:$a.=100

    3)赋值运算符(=+=-=*=/=%=)与js基本相同

    4)比较运算符(><>=<===!====!==)与js基本相同

    举例:10==“10px”  结果为:true;在包含数字的运算中“10px”会先转换为数值

    举例:10===“10px”  结果为:false; 全等比较,包括数据类型

    (5)    逻辑运算符(&&||!)与js基本相同

    (6)    三元运算符(表达式?结果1:结果2)与js基本相同

    (7)    运算符优先级

     

    ⑥  php获取表单数据

     <form method="get" action="">

        用户名:<input type="text" name="username">

    密码:<input type="text" name="password">

    <input type="hidden" name="ac" value="login">  //隐藏域,向后端传递信息

        <input type="submit">

    </form>

    (1) 超全局数组变量:$_GET[ ]

    获取get方法提交的数据,存放到GET数组中

     array(2) { ["username"]=> string(6) "abcdef" ["password"]=> string(5) "12345" }

    获取其中的数据示例:$username=$_GET[“name”]

    (2) 超全局数组变量:$_POST[ ]

    获取post方法提交的数据,存放到POST数组中

    ⑦  php中的条件判断ifswitch js基本相同

    switch比if的效率高,主要用于取值判断

    ⑧  php中的循环语句

    (1)while(条件判断){ break }  js基本相同

    (2)for(条件判断){ }  js基本相同

    (3)break语句 可以添加break 2表示跳出两层循环

    (4)continue语句 跳出本次循环,直接开始下次循环

    ⑨  php中的拷贝传值和引用传地址

    (1) 拷贝传值

    将一个变量的值,“复制”一份,传递给另一个变量,这两个变量之间没有关系,是相互独立的两个变量,修改其中一个变量,另一个变量不会变

    php中属于拷贝传值的数据类型为:字符型、整型、浮点型、NULL、数组

    (2) 引用传地址

    将一个变量的数据地址,“复制”一份,传递给另一个变量,这两个变量指向的是“同一标物”,如果这个”标物”发送变化,两个变量都会发送变化。所以修改一个变量的值,则另一个变量也会发生变化。

    php中属于引用传地址的数据类型为:对象、资源

    手动声明引用传地址:在引用变量前,加上“&”符号即可,这样可以使所有的数据类型实现引用传地址,示例如下

    $a=10;  $b=&$a;  这样即是把$a的引用地址传地给了$b

    ⑩  php中的函数  js基本相同

    示例如下:

    function name ($name) {  //函数名不能相同,只能唯一存在,且不带$符号

              echo “{$name}的年龄是20”;

        return;

    }

    1)函数的参数可以传递引用地址:

    function test ( &$a,$b ){  //此处传递的是$a的引用路径

              $arr[ ]=$abc;

    }

    2)函数的作用域:

    全局变量:在函数外部定义的变量,网页执行完消失

    局部变量:在函数内部定义的变量,函数执行完消失

    不同与js,在php中,全局变量不能直接在函数内部使用

    php函数中使用global关键字声明全局变量

    使用global关键字,可以将一个变量,声明为全局变量,这里的全局变量不是js中认为的全局变量

    global关键字的使用:

    1. global关键字,只能在函数内部使用。
    2. global关键字,不能一边声明全局变量,一边赋值。不能有这样的写法:

    global $a=10;

    1. global的真正含义,是“引用传地址”,与js中的全局变量不同

    3php日期时间函数:

    1. date( );

    echo date(“Y-m-d H:i:s”);   输出时间,可改为Y年m月d日

    2. time( );   时间戳   1970年到当前的秒数(js是毫秒)

    4include 语法结构

            描述:包含并运行指定文件

            语法:include $filename 或者 include($filename);

            示例:include “include/conn.php”;

    5requrie 语法结构

            描述:包含并运行指定文件

            语法:requrie $filename 或者 requrie ($filename);

            示例:requrie “include/conn.php”;

    注意:include与require都是包含并运行文件,但是是有区别的。如果包含的文件不存在,include将报一个警告错误,脚本继续向下运行。而require将报一个致命错误,脚本将立即终止执行。

    6header()

            描述:发送一个自定义的http报文,即:php返回的数据格式或字符集

            语法:void header( string $string)

            示例:

    ※  header(“content-type:text/html;charset=utf-8”);

    ※  header(“location:http:www.baidu.com”);  //网页跳转

    原文: https://www.cnblogs.com/Tabb/p/7223741.html
    人生得意须尽 莫使金樽空对月
  • 相关阅读:
    camp训练day2
    LCA板子题
    牛客多校第一场
    P1063 能量项链 区间DP
    64. Minimum Path Sum
    46. Permutations
    216. Combination Sum III
    62. Unique Paths
    53. Maximum Subarray
    22. Generate Parentheses
  • 原文地址:https://www.cnblogs.com/puhk/p/10746705.html
Copyright © 2011-2022 走看看