php基本语法,变量,预定义变量及表单传值

php基本语法

  • php标记形式

    • 第一种形式(推荐)

      <?php
          php语句代码...
       ?>
    • 第二种形式

      <script lanagluge="php">
          php语句...
      </script>
    • 第三种形式(不推荐)

      <?
          php语句...
      ?>

    第三种形式需要在php.int中把short_open_tag标签由Off改成On才可以使用

    ps:当php代码后面没有html代码的时候,php的结束标志可以省略

  • php区分大小写特性

    1. 变量区分大小写;
    2. 常量名默认区分大小写,但可以认为设置不区分,但不推荐;
    3. 其他场合都区分大小写,如函数名,关键字等等。
  • 一条语句使用一个分号结束

    1. 在一个php语句标记中的最后一个分号可以省略;
    2. php结束标志省略则不能省略最后一个分号。
  • php注释

    • 单行注释:

      1. 形式一: // 注释内容
      2. 形式二: # 注释内容
    • 2个多行注释技巧:

       有时候,我们因为测试或别的原因,需要将一大段代码多次进行”注释“或注释,则此时,我们可以使用如下两个技巧来方便实现

      • 技巧一:

        全部注释
        
            /* echo "<br />代码1"; echo "<br />代码2"; echo "<br />代码3"; //*/
        
        全部取消注释(反注释)
        
            //*
            echo "<br />代码1";
            echo "<br />代码2";
            echo "<br />代码3";
            //*/
      • 技巧二:利用true/false逻辑

        反注释
        
            if(1 == 0){
                要注释的php代码
            }
        
        注释
        
            if(1 == 1){
                要注释的php代码
            }

php变量

  • 变量的形式:变量以$开头,后面紧跟变量名

    1. 使用形式:每个变量名前面必须以$开头;

    2. 定义形式:php中,支持“单纯的定义”一个变量,在第一次给一个变量赋值的时候,就是定义变量!

    3. 基本理解

      变量可以理解为只是一个代表一定存储控件及其中数据的一个”标识符“ – 也就是一个名字。

  • 变量的基本操作:4个操作

    1. 赋值:即将一个数赋值该一个变量,让这个变量指向这个数;
    2. 取值:任何需要一个数据的语句中使用一个变量,此时就是指从该变量取值;
    3. 判断(isset(变量名):
      作用:判断该变量是否存在,或该变量是否有数据,返回true和false(特别注意:null关键字表示没有数据,即空);
    4. 删除(unset(变量名)) :删除一个变量并不是指将该变量从程序中删掉,而是断开该变量名跟变量原有的数据值之间的引用关系,此时,会有这样的结果:
      1、变量已经不指向任何数据了,则此时isset()判断的结果为false
      2、 该数据(可能)没有任何变量指向它了,就成为无法使用的数据 – 通常就被自动回收了
  • 变量命名规则

    (1)基本规则:不能以数字开头,以字母或下划线开头;

    (2)行业规则(保证代码的可读性):

    1. 驼峰命名法:第一个字母小写,其他字母首字母大写
    2. 帕斯卡命名法:首字母全部大写,包括第一个首字母
    3. 以下划线分割单词命名法

php传值方式

  • 值传递

    $m1;
    $m2 = $m1;
    
  • 引用传递

    php中只有一种语法形式可以实现变量的引用传递方式:&符号

    $m1;
    $m2 = &$m1; // ”复制“引用,unset是对引用的切断
    

可变变量

  • 形式:

    $s1 = "abc";
    $abc = 10;
    echo  $$s1; // 输出10
  • 理解:

    1. 在php中,一个”$”后面,总是跟着变量名!
    2. 这里echo输出的这个变量(以第一个$为标识符)的名字:¥s1,即”abc”
    3. 所以,这里输出的是$abc,即10
    4. 这种连续出现”¥“的变量形式,就是所谓的”可变变量“
  • 演示:

    // 以下演示”可变变量“的灵活性
    // 所谓可变变量,其实就是变量的名字是可以”动态变化“以获取不同的数据值
    $v1 = 1;
    $v2 = 34;
    $v3 = 23;
    $v4 = 35;
    $v5 = 26' // 求这五个变量的和 // 其他语言中,只能一个一个”加起来“,即使知道变量名有规律 // 在php中可以这样,拼凑变量名 $sum = 0; for($i=1;i<=5;$i++){ $v = "v" .$i; // 这里,结果其实就是一个字符串,如"v1","v2".. $sum += $$v; }

预定义变量

 所谓预定义变量,其实指,php这个语言工具中,预先就定义好的变量,我们只是”拿来使用“

综述:

  • 主要有:$_GET,$POST,$_REQUEST,$_SERVER,$GLOBALS,$_FILES,$_SESSION
  • 均是数组;
  • 系统定义与维护 — 即我们应该给其复制或销毁其值,只应该去“用其值”。
  • 具有超全局作用域;
  • 不用情形下可能具有不同的值。

$_POST变量

  • 含义:

     它代表用户通过表单以post方式(method="post"),提交的时候所提交的所有数据 – 这个称为post数据。表单中的所有数据都存在了$_POST数组变量中了,可以在提交去的那个页面通过数据的方式来取,取之前为了容错处理,先做一个empty($_POST)判断,判断$_POST是否有表单数据

  • 判断变量

    1. isset(变量):判断一个变量是否存在,或者变量是否为空(null),如果存在就是true,否则就是false

    2. empty(变量):判断变量的”内容“是否为空(不是null的空,而是没有内容),如下数据都是”空:的:0,空字符串(“”),0作为字符串(“0”),false,null,array()空数组。

ps:print_r()函数:输出数组,用于调试
ps:form的action是空字符串的时候,是提交到本页面!
ps:form中的所有name的标签都会存在$_POST数组变量中

$_GET变量

含义:代表用户通过get方式(有4种方式)提交的所有表单数据 – 称为get数据

提交get数据有四种形式:

  • 形式1:

    <form action="目标文件.php method="get">
        <input type="text" name='data1" />
        <input type="text" name='data2" />
        <input type="submit" name="提交" />
    </form>
    
  • 形式2:

    <a href="目标文件.php?data1=1&data2=2">
    
  • 形式3:

    // 可以看成是js实现的链接,功能和a标签的连接功能一样
    <script>
        location.href="目标文件.php?data1=4&data2=4";
    </script>
    
  • 形式4:

    // 该形式和形式3完全一样功能,只是location这个对象实现跳转的另一个语法形式一样而已
    <script>
        location.assign("目标文件.php?data1=4&data2=4");
    </script>
    
  • 形式5:php的跳转语法

    <?php
        //语法形式:header("Location:目标网页地址");
        header("Location:目标文件.php?data3&data5");
    ?>
    

小结:上述的多种get形式提交数据,都要理解为:跳转到某个页面,并同时”携带”(提交)一定的get数据过去!

总结:大的来说就两种,表单和链接,不管哪种形式的get数据提交:接受get数据,都只有一种形式,跟post类似。

ps:get,post没有翻译!
ps:print_r($_GET);或 var_dump($_GET);// 作为程序猿调试用的

$_REQUEST变量

含义:是post数据和get数据的合集,包含了这两种数据

同时具有get和post数据:只有一个方式:

<!-- 以下action中的?号后面的数据会以get方式提交 -->
<form action="目标文件.php?data3&data4" method="post">
    <!--以下数据中所有的数据都会以post提交 -->
    <input type="text" name="data1">
    <input type="text" name="data2">
</form>

ps:$_REQUEST取值的时候和$_GET和$_POST取值一样

  • 当post数据和get数据的数据项名称相同(其实反对这么做)默认post数据会覆盖get数据,(这个可以在ini文件中修改request_order)
    1. request_order=”GP”
    2. requset_order=”PG”

ps:实际编程中并不会用$_REQUEST变量

$_SERVER变量

含义:它代表在一次浏览网页的过程中的浏览器端的一些信息或服务器端的一些信息,我们只是程序中可以拿到这些信息,并用于编程所需!,比如:取得的访问IP地址

注意:这种信息,随着不同的页面,和不同的服务器,以及不同的时刻,都可能不同!

要求:大约有30个左右的信息,我们主要知道其中5个左右,主要有:

$_SERVER['REMOTE_ADDR']:获取访问者的ip地址
$_SERVER['SERVER_ADDR']:获取服务器的所在的ip地址
$_SERVER['SERVER_NAME']:获取服务器名称
$_SERVER['DOCUMENT_ROOT']:获取站点的路径
$_SERVER['PHP_SELF']:获取当前网页的地址(不含域名部分)
$_SERVER['SCRIPT_FILENAME']:获取当前网页地址物理路径
$_SERVER['QUERY_STRING']:获取当前网页地址中所有的get数据(就是?号后面部分),但只是一个整体的字符串而已

ps:可以通过print_r()打印这个数组,查看该数组变量

$GLOBALS变量

超全局作用域

含义:它也是要给’重复性数据’,它里面存储了我们自己定义的所有’全局变量’及一些系统的预定义变量

举例:

$v1 = 1; // 定义了一个全局变量
此时,就有这样一个数据:$GLOBALS['v1'],其值就是1

这个变量主要用于在局部范围不可以使用全局变量的时候,有需要该全局变量的值,那么可以使用这个变量来取该全局变量的值。

    原文作者:宿罪
    原文地址: https://blog.csdn.net/ydxlt/article/details/50547471
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞