• PHP基础笔记汇总


    一、PHP简介
    PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名)
    PHP 是一种服务器端的脚本语言,类似 ASP
    PHP 文件的文件后缀是 ".php"、".php3" 或 ".phtml"

    PHP的好处:
    1.跨平台
    2.与大多服务器相兼容(Apache、IIS 等)
    资源免费下载:www.php.net

    二:PHP基本语法:
    PHP脚本块格式:<?php XXX ?>  简写方式:<? xxx ?>

    简单代码示例:

    <html>
    <body>
    <?php
    echo "Hello World";
    ?>
    </body>
    </html>


    PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
    有两种通过 PHP 来输出文本的基础指令:echo 和 print。

    PHP注释:
    // 来编写单行注释,或者使用 /* 和 */ 来编写大的注释块。
    示例代码:

    <html>
    <body>
    <?php
    //This is a comment
    
    /*
    This is
    a comment
    block
    */
    ?>
    </body>
    </html>


    三、PHP变量:
    PHP 中的所有变量都是以 $ 符号开始的。
    $var_name = value;
    示例代码:

    <?php
    $txt = "Hello World!";
    $number = 16;
    ?>


    PHP 是一门松散类型的语言(Loosely Typed Language)
    在 PHP 中,不需要在设置变量之前声明该变量。
    根据变量被设置的方式,PHP会自动地把变量转换为正确的数据类型。
    在PHP中,变量会在使用时被自动声明。
    在强类型的编程语言中,您必须在使用前声明变量的类型和名称。

    变量命名规则:
    变量名必须以字母或下划线 "_" 开头。
    变量名只能包含字母数字字符以及下划线。
    变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。

    四、PHP字符串:
    示例代码:
    PHP 脚本把字符串 "Hello World" 赋值给名为 $txt 的字符串变量:

    <?php
    $txt="Hello World";
    echo $txt;
    ?>

    以上代码的输出:Hello World

    并置运算符(Concatenation Operator):连接字符串
    示例代码:

    <?php
    $txt1="Hello World";
    $txt2="1234";
    echo $txt1 . " " . $txt2;
    ?>

    以上代码的输出:Hello World 1234

    strlen()函数:计算字符串长度

    <?php
    echo strlen("Hello world!");
    ?>

    以上代码的输出:12

    strpos()函数:在字符串内检索一段字符串或一个字符的位置  索引从0开始 6表示检索的字符的首位的索引号

    <?php
    echo strpos("Hello world!","world");
    ?> 

    以上代码的输出是:6

    五、PHP运算符(省略)和C#一致

    六、If...Else 语句
    If...Else 语句
    如果您希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if....else 语句。
    语法:
    if (condition)
      code to be executed if condition is true;
    else
      code to be executed if condition is false;
    实例:
    如果当前日期是周五,下面的代码将输出 "Have a nice weekend!",否则会输出 "Have a nice day!":

    <html>
    <body>
    <?php
    $d=date("D");
    if ($d=="Fri")
      echo "Have a nice weekend!";
    else
      echo "Have a nice day!";
    ?>
    </body>
    </html>

    如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中:

    <html>
    <body>
    <?php
    $d=date("D");
    if ($d=="Fri")
      {
      echo "Hello!<br />";
      echo "Have a nice weekend!";
      echo "See you on Monday!";
      }
    ?>
    </body>
    </html>


    ElseIf 语句
    如果希望在多个条件之一成立时执行代码,请使用 elseif 语句
    语法
    if (condition)
      code to be executed if condition is true;
    elseif (condition)
      code to be executed if condition is true;
    else
      code to be executed if condition is false;

    实例
    如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":

    <html>
    <body>
    <?php
    $d=date("D");
    if ($d=="Fri")
      echo "Have a nice weekend!";
    elseif ($d=="Sun")
      echo "Have a nice Sunday!";
    else
      echo "Have a nice day!";
    ?>
    </body>
    </html>


    七、Switch语句
    如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。
    使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
    语法:
    switch (expression)
    {
    case label1:
      code to be executed if expression = label1;
      break;  
    case label2:
      code to be executed if expression = label2;
      break;
    default:
      code to be executed
      if expression is different
      from both label1 and label2;
    }

    实例
    工作原理:
    对表达式(通常是变量)进行一次计算
    把表达式的值与结构中 case 的值进行比较
    如果存在匹配,则执行与 case 关联的代码
    代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
    如果没有 case 为真,则使用 default 语句

    <?php
    switch ($x)
    {
    case 1:
      echo "Number 1";
      break;
    case 2:
      echo "Number 2";
      break;
    case 3:
      echo "Number 3";
      break;
    default:
      echo "No number between 1 and 3";
    }
    ?>
    


    八、PHP数组
    数值数组
    数值数组存储的每个元素都带有一个数字 ID 键。
    可以使用不同的方法来创建数值数组:
    例子 1
    在这个例子中,会自动分配 ID 键:

    $names = array("Peter","Quagmire","Joe");


    例子 2
    在这个例子中,我们人工分配的 ID 键:

    $names[0] = "Peter";
    $names[1] = "Quagmire";
    $names[2] = "Joe";

    可以在脚本中使用这些 ID 键:

    <?php
    $names[0] = "Peter";
    $names[1] = "Quagmire";
    $names[2] = "Joe";
    echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";
    ?>

    以上代码的输出:
    Quagmire and Joe are Peter's neighbors

    关联数组
    关联数组,它的每个 ID 键都关联一个值。
    在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。
    通过关联数组,我们可以把值作为键,并向它们赋值。
    例子 1
    在本例中,我们使用一个数组把年龄分配给不同的人:

    $ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);


    例子 2
    本例与例子 1 相同,不过展示了另一种创建数组的方法:

    $ages['Peter'] = "32";
    $ages['Quagmire'] = "30";
    $ages['Joe'] = "34";

    可以在脚本中使用 ID 键:

    <?php
    $ages['Peter'] = "32";
    $ages['Quagmire'] = "30";
    $ages['Joe'] = "34";
    echo "Peter is " . $ages['Peter'] . " years old.";
    ?>

    以上脚本的输出:
    Peter is 32 years old.

    多维数组
    在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。
    例子 1
    在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:

    $families = array
    (
      "Griffin"=>array
      (
      "Peter",
      "Lois",
      "Megan"
      ),
      "Quagmire"=>array
      (
      "Glenn"
      ),
      "Brown"=>array
      (
      "Cleveland",
      "Loretta",
      "Junior"
      )
    );


    如果输出这个数组的话,应该类似这样:

    Array
    (
    [Griffin] => Array
      (
      [0] => Peter
      [1] => Lois
      [2] => Megan
      )
    [Quagmire] => Array
      (
      [0] => Glenn
      )
    [Brown] => Array
      (
      [0] => Cleveland
      [1] => Loretta
      [2] => Junior
      )
    )


    例子 2
    让我们试着显示上面的数组中的一个单一的值:

    echo "Is " . $families['Griffin'][2] .
    " a part of the Griffin family?"; 

    以上代码的输出:
    Is Megan a part of the Griffin family?

    九、PHP循环
    while 语句
    只要指定的条件成立,while 语句将重复执行代码块。
    语法
    while (condition)
    code to be executed;

    例子
    下面的例子示范了一个循环,只要变量 i 小于或等于 5,代码就会一直循环执行下去。循环每循环一次,变量就会递增 1:

    <html>
    <body>
    
    <?php
    $i=1;
    while($i<=5)
      {
      echo "The number is " . $i . "<br />";
      $i++;
      }
    ?>
    
    </body>
    </html>


    do...while 语句
    do...while 语句会至少执行一次代码 - 然后,只要条件成立,就会重复进行循环。

    语法
    do
    {
    code to be executed;
    }
    while (condition);

    例子
    下面的例子将对 i 的值进行一次累加,然后,只要 i 小于 5 的条件成立,就会继续累加下去:

    <html>
    <body>
    
    <?php
    $i=0;
    do
      {
      $i++;
      echo "The number is " . $i . "<br />";
      }
    while ($i<5);
    ?>
    
    </body>
    </html>


    for语句
    如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。
    语法

    for (initialization; condition; increment)
    {
      code to be executed;
    }

    注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
    例子

    下面的例子会把文本 "Hello World!" 显示 5 次:

    <html>
    <body>
    
    <?php
    for ($i=1; $i<=5; $i++)
    {
      echo "Hello World!<br />";
    }
    ?>
    
    </body>
    </html>


    foreach 语句
    foreach 语句用于循环遍历数组。
    每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。
    语法
    foreach (array as value)
    {
        code to be executed;
    }

    例子
    下面的例子示范了一个循环,这个循环可以输出给定数组的值:

    <html>
    <body>
    
    <?php
    $arr=array("one", "two", "three");
    
    foreach ($arr as $value)
    {
      echo "Value: " . $value . "<br />";
    }
    ?>
    
    </body>
    </html>


    十、PHP函数:

    函数是一种可以在任何被需要的时候执行的代码块。
    创建PHP函数
    所有的函数都使用关键词 "function()" 来开始
    命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
    添加 "{" - 开口的花括号之后的部分是函数的代码。
    插入函数代码
    添加一个 "}" - 函数通过关闭花括号来结束。

    例子
    一个简单的函数,在其被调用时能输出我的名称的:

    <html>
    <body>
    
    <?php
    function writeMyName()
      {
      echo "David Yang";
      }
    
    writeMyName();
    ?>
    
    </body>
    </html>


    使用PHP函数
    现在,我们要在 PHP 脚本中使用这个函数了:

    <html>
    <body>
    
    <?php
    function writeMyName()
      {
      echo "David Yang";
      }
    
    echo "Hello world!<br />";
    echo "My name is ";
    writeMyName();
    echo ".<br />That's right, ";
    writeMyName();
    echo " is my name.";
    ?>
    
    </body>
    </html>

    以上代码的输出:

    Hello world!
    My name is David Yang.
    That's right, David Yang is my name.


    PHP有参函数:
    您可能注意到了,函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。

    例子1
    下面的例子讲输出不同的名字,但姓是相同的:

    <html>
    <body>
    
    <?php
    function writeMyName($fname)
      {
      echo $fname . " Yang.<br />";
      }
    
    echo "My name is ";
    writeMyName("David");
    
    echo "My name is ";
    writeMyName("Mike");
    
    echo "My name is ";
    writeMyName("John");
    ?>
    
    </body>
    </html>

    上面的代码的输出:
    My name is David Yang.
    My name is Mike Yang.
    My name is John Yang.

    例子 2
    下面的函数有两个参数:

    <html>
    <body>
    
    <?php
    function writeMyName($fname,$punctuation)
      {
      echo $fname . " Yang" . $punctuation . "<br />";
      }
    
    echo "My name is ";
    writeMyName("David",".");
    
    echo "My name is ";
    writeMyName("Mike","!");
    
    echo "My name is ";
    writeMyName("John","...");
    ?>
    
    </body>
    </html>

    上面的代码的输出:
    My name is David Yang.
    My name is Mike Yang!
    My name is John Yang...

    PHP函数返回值
    函数也能用于返回值。
    例子

    <html>
    <body>
    
    <?php
    function add($x,$y)
      {
      $total = $x + $y;
      return $total;
      }
    
    echo "1 + 16 = " . add(1,16);
    ?>
    
    </body>
    </html>


    以上代码的输出:1 + 16 = 17

    十一、PHP表单和用户输入

    PHP表单处理
    表单实例:
    <html>
    <body>

    <form action="welcome.php" method="post">
    Name: <input type="text" name="name" />
    Age: <input type="text" name="age" />
    <input type="submit" />
    </form>

    </body>
    </html>

    上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "welcome.php" 这个文件。
    "welcome.php" 文件类似这样:

    <html>
    <body>

    Welcome <?php echo $_POST["name"]; ?>.<br />
    You are <?php echo $_POST["age"]; ?> years old.

    </body>
    </html>

    上面这个脚本的输出样本类似这样:
    Welcome John.
    You are 28 years old.

    表单验证
    应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。
    不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。
    在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。

    十二、$_GET:

    用于收集来自 method="get" 的表单中的值。
    $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

    $_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。

    例子

    <form action="welcome.php" method="get">
    Name: <input type="text" name="name" />
    Age: <input type="text" name="age" />
    <input type="submit" />
    </form>

    当用户点击提交按钮时,发送的 URL 会类似这样:
    http://www.w3school.com.cn/welcome.php?name=Peter&age=37

    "welcome.php" 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键):

    Welcome <?php echo $_GET["name"]; ?>.<br />
    You are <?php echo $_GET["age"]; ?> years old!


    为什么使用 $_GET?
    注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

    注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。
    $_REQUEST 变量

    PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。

    PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
    例子

    Welcome <?php echo $_REQUEST["name"]; ?>.<br />
    You are <?php echo $_REQUEST["age"]; ?> years old!


    十三、$_POST:

    用于收集来自 method="post" 的表单中的值。

    $_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
    $_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

    例子

    <form action="welcome.php" method="post">
    Enter your name: <input type="text" name="name" />
    Enter your age: <input type="text" name="age" />
    <input type="submit" />
    </form>


    当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:
    http://www.w3school.com.cn/welcome.php
    "welcome.php" 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键):

    Welcome <?php echo $_POST["name"]; ?>.<br />
    You are <?php echo $_POST["age"]; ?> years old!


    为什么使用 $_POST?
    通过 HTTP POST 发送的变量不会显示在 URL 中。
    变量没有长度限制。
    不过,由于变量不显示在 URL 中,所以无法把页面加入书签。

    $_REQUEST 变量
    PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
    PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
    例子
    Welcome <?php echo $_REQUEST["name"]; ?>.<br />
    You are <?php echo $_REQUEST["age"]; ?> years old!


    扩展:w3school PHP在线教程>>

  • 相关阅读:
    bootstrap以及考试复习
    HTML复习
    驼峰命名法和模态对话框
    dom和bom
    dom习题复习和讲解
    DOM
    属性扩展
    sql防注入式攻击
    自动生成编号
    删除,修改,添加
  • 原文地址:https://www.cnblogs.com/zxx193/p/3552531.html
Copyright © 2020-2023  润新知