zoukankan      html  css  js  c++  java
  • PHP基础(一)

    PHP是一种运行在服务器端的脚本语言,可以嵌入到HTML中。

    PHP代码标记

    在PHP历史中,可以使用多种标记来区分PHP脚本。

    ASP标记:<%php代码%>

    短标记:<?php代码?>   简短风格  SGML(标准通用标记语言)

    以上两种基本弃用,如果想使用需要在配置文件中开启。(配置文件:php文件夹中的php.ini文件,搜索short_open_tag, asp_tags)

     脚本标记:<script language=”php”>php代码</script>

    标准标记(常用):<?php   php代码   ?>

    XML风格(可扩展标记语言)

    PHP注释

    行注释:一次注释一行

        //:后面内容为注释

    块注释:一次注释多行

        /*:

            中间内容全部都是注释

        */

    PHP语句分隔符

    PHP中,代码是以行为单位,一般以分号为行结束符。

    特殊说明:

    1. PHP中标记结束符“?>”有自带语句结束符的效果,最后一行PHP可以没有语句结束符“;”。
    2. PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯不建议使用标记结束符“?>”,PHP会自动从开始到最后全部认为是PHP代码,从而解析。

    PHP变量

    php是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己存储数据(临时存储)。

    定义变量:在PHP中不需要任何关键字定义变量(赋值);

    PHP中所有变量都必须使用“$”符号。

    PHP中允许使用中文变量(不建议)。

    删除变量:使用unset(变量名)。

    预定义变量

    预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)。

    $_GET:获取所有表单以get方式提交的数据

    $_POST: :以post方式提交的数据

    $_REQUEST:GET和POST提交的都保存

    $GLOBALS:PHP中所有的全局变量

    $_SERVER:服务器信息

    $_SESSION: session会话数据

    $_COOKIE: cookie会话信息

    $_ENV:环境信息

    $_FILES:用户上传的文件信息

    可变变量:

    $a = ‘b’;

    $b=’bb’;

    echo $a;//b

    echo $$a;//bb—找到$a,解析结果:b,将前面的$符号与结果b绑定,:$b,然后解析。

    变量传值:

    值传递:$新变量 = $旧变量

    引用传递:$新变量 = &$旧变量

    常量

    特点:数据不允许修改

    常量只可以保存布尔值、整型、浮点型或字符串数据。

    定义:

    1. 使用定义常量的函数:define(‘常量名’,常量值);
    2. PHP5.3之后才有:const 常量名 = 值;

    命名规则:

    1. 常量不需要使用“$”符号,一旦使用系统就会认为是变量。
    2. 常量的名字组成由字母、数字和下划线组成,不能以数字开头。
    3. 常量的名字通常是以大写字母为主。
    4. 常量的命名规则比变量要松散,可以使用一些特殊字符,但只能使用define定义。 

    使用(访问):

    1. 普通常量:直接使用。
    2. 特殊常量:constant(‘常量名’);

    系统常量:系统帮助用户定义的常量,用户可以直接使用。

    运行phpinfo()函数,可看到PHP预定义的许多常量。

    常用的系统常量:

           PHP_VERSION: PHP版本号。

           PHP_INT_SIZE:整形大小。

           PHP_INT_MAX:整形能表示的最大值(PHP中整形允许出现负数:带符号)。

    系统魔术常量:双下划线开始+常量名+双下划线结束。魔术常量的值通常会跟着环境变化,但是用户改变不了。

    __DIR__:当前被执行的脚本所在电脑的绝对路径

    __FILE__:当前被执行的脚本所在电脑的绝对路径(带自己文件的名字)

    __LINE__:当前所属的行数

    __NAMESPACE__:当前所属的命名空间

    __CLASS__:当前所属的类

    __METHOD__:当前所属的方法

    数据类型

    数据类型(data type)指的是存储的数据本身的类型,而不是变量的类型,PHP是一种弱类型语言,变量本身没有数据类型。

    PHP八大数据类型:

    PHP中将数据分为三大类,八小类。

    简单(基本)数据类型

    整型(int/integer)

    占4个字节

    浮点型(float/double)

    占8个字节

    字符串(string)

    根据实际长度分配

    布尔类型(bool/boolean)

    只有true和false两种取值

    复合数据类型

    对象类型(object)

    存放对象(面向对象)

    数组类型(array)

    存储多个数据(一次)

    特殊数据类型

    资源类型(resource)

    存放资源数据(PHP外部数据,如数据库、文件)

    空类型(NULL)

    值就是一个NULL,不能运算,对大小写不敏感。当被赋值为NULL,或者尚未被赋值,或者被unset(),变量都被认为为NULL

    Callable类型

    可以传递给其他函数的函数

    类型转换:

    当前数据类型—>目标数据类型

    1. 自动转换:系统根据需求自己判定。
    2. 强制(手动)转换:人为根据需要的目标类型转换。

    强制转换规则:在变量之前加一个括号(),然后在里面写上目标数据类型。

    NULL类型用到unset()

    其他类型转布尔类型:true或者false。

    其他类型转数值:

    1. 布尔true为1,false为0.
    2. 字符串转数值:

    a)       以字母开头的字符串,永远为0。

    b)       以数字开头的字符串,取到碰到字母为止,(不会同时包含两个小数点)。

    类型判断:通过一组以is_类型名的函数来判断:is_XXX(变量名),返回结果为布尔类型(true/false)。Bool类型不能用echo来查看,可以使用var_dump结构查看。

    var_dump(变量1,变量2,…)—会将数据类型和值同时打印。

    empty():判断数据的值是否为“空”,不是NULL,为空则返回true。(判断变量的值)

    isset():判断数据存储的变量本身是否存在,存在变量返回true。(判断变量是否存在)

    获取和设定数据(变量)的类型:

    gettype(变量名):获取类型,得到的是该类型对应的字符串。(不推荐使用来测试某种类型,推荐使用is_*函数代替)

    settype(变量名,数据类型):设定数据类型,与强制转换不同。

    1. 强制类型转换,是对数据复制的内容进行处理,(不会处理实际存储的内容),数据原来是什么类型,转换后仍是什么类型。
    2. settype会直接改变数据本身。

    进制转换函数:

    decbin():十进制转二进制

    decoct():十进制转八进制

    dechex():十进制转十六进制

    bindec():二进制转十进制

    octdec():八进制转十进制

    bin2hex():二进制转十六进制

    连接运算符:是PHP中将多个字符串拼接的一种符号。

    . :将两个字符串连接到一起。

    .=:复合运算,将左边的内容与右边的内容连接起来,然后重新复制给左边变量。

    错误抑制符:有一些错误提前可以预知,又无法避免,但又不希望给用户看,可以是用错误抑制符。

    @:在可能出错的表达式前面使用@符号即可。

    使用错误抑制符,如果已经在php.ini文件中启用了PHP的track_errors特性,错误信息将会保存在全局变量$php_errormsg中。

    执行操作符:反向单引号。位于与~同样的位置。

    PHP会试着将反向单引号之间的命令当做服务器命令行命令来执行。表达式的值就是命令的执行结果。

     

    流程控制

    流程控制:代码执行的方向。

    控制分类:

    顺序结构:代码从上到下,顺序执行。(代码执行的最基本结构)

    分支结构:给定一条件,同时有多种可执行代码(块),然后根据条件执行某一段代码。

        PHP中分支结构主要有两种:if分支和switch分支。

    循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行。

            For循环,while循环、do-while循环,foreach循环(专门针对数组)。

    循环控制:

        中断控制:重新开始循环。

        continue 层级 //默认为1

        终止控制:循环直接进结束。

        break 层级 // 默认为1

    流程控制替代语法:

       流程控制替代语法:分支和循环结构的替代语法。

        PHP与HTML混搭。

      

     1 <table border = 1>
     2     <?php for ($i = 1; $i < 10; $i++){?>
     3         <tr>
     4             <?php for($j = 1;$j <= $i; $j++){?>
     5                 <td>
     6                     <?php echo $i . '*' . $j . '=' . $i * $j;?>
     7                 </td>
     8             <?php }?>
     9         </tr>
    10     <?php }?>
    11 </table>
    View Code

    在PHP中这些大括号不美观,所以PHP提供了一种替代机制。

    for(;;){  --》for(;;):

    } --》endfor;

     1 <table border = 1>
     2     <?php for ($i = 1; $i < 10; $i++):?>
     3         <tr>
     4             <?php for($j = 1;$j <= $i; $j++):?>
     5                 <td>
     6                     <?php echo $i . '*' . $j . '=' . $i * $j;?>
     7                 </td>
     8             <?php endfor;?>
     9         </tr>
    10     <?php endfor;?>
    11 </table>
    View Code

    PHP的替代语法:PHP应该在HTML中只做数据输出,输出通常伴有条件判断和循环操作,因此,PHP提供了对应分支结构和循环结构的替代语法,全部都是对应的一个模式:

    左大括号 { 使用冒号 :替代

    右大括号 } 使用end+对应的起始标记替代

  • 相关阅读:
    数学图形(1.12) 螺线
    数学图形(1.11) 玫瑰线
    数学图形(1.10) 双曲线
    数学图形(1.9)悬链线
    数学图形(1.8) 圆外旋轮线
    git 冲突解决
    Nginx配置文件(nginx.conf)配置详解
    【LNMP】提示Nginx PHP “No input file specified”错误的解决办法
    Windows如何压缩tar.gz格式
    LNMP安装目录及配置文件
  • 原文地址:https://www.cnblogs.com/sun-yanglu/p/9543366.html
Copyright © 2011-2022 走看看