zoukankan      html  css  js  c++  java
  • PHP入门

    1. PHP脚本可以放置于文档中的任何位置。

    PHP 脚本以 <?php 开头,以 ?> 结尾。

    在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。所有变量都对大小写敏感。

    2.PHP变量

    • 变量以 $ 符号开头,其后是变量的名称
    • 变量名称必须以字母或下划线开头
    • 变量名称不能以数字开头
    • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
    • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

    PHP 没有创建变量的命令。变量会在首次为其赋值时被创建。

    PHP 有三种不同的变量作用域:

    • local(局部)
    • global(全局)
    • static(静态)

    函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

    函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。

    <?php
    $x=5; // 全局作用域
    
    function myTest() {
      $y=10; // 局部作用域
      echo "<p>测试函数内部的变量:</p>";
      echo "变量 x 是:$x";
      echo "<br>";
      echo "变量 y 是:$x";
    } 
    
    myTest();
    
    echo "<p>测试函数之外的变量:</p>";
    echo "变量 x 是:$x";
    echo "<br>";
    echo "变量 y 是:$x";
    ?>

    您可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。

    global 关键词用于访问函数内的全局变量。要做到这一点,请在(函数内部)变量前面使用 global 关键词:

    <!DOCTYPE html>
    <html>
    <body>
    
    <?php
    $x=5;
    $y=10;
    
    function myTest() {
       global $x,$y;
       $y=$x+$y;
    } 
    
    myTest(); // 运行函数
    echo $y; // 输出变量 $y 的新值
    ?>
    
    </body>
    </html>

    PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

    上面的例子可以这样重写:

    <?php
    $x=5;
    $y=10;
    
    function myTest() {
       $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    } 
    
    myTest();
    echo $y;
    ?>

    通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。

    要完成这一点,请在您首次声明变量时使用 static 关键词:

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

    然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

    注释:该变量仍然是函数的局部变量。

    3.echo & print

    echo 和 print 之间的差异:

    • echo - 能够输出一个以上的字符串
    • print - 只能输出一个字符串,并始终返回 1

    提示:echo 比 print 稍快,因为它不返回任何值。

    1)echo 是一个语言结构,有无括号均可使用:echo 或 echo()。

    用 echo 命令来显示字符串和变量

    <!DOCTYPE html>
    <html>
    <body>
    
    <?php
    $txt1="Learn PHP";
    $txt2="W3School.com.cn";
    $cars=array("Volvo","BMW","SAAB");
    echo $txt1;
    echo "<br>";
    echo "Study PHP at $txt2";
    echo "<br>";
    echo "My car is a {$cars[0]}";
    ?>
    
    </body>
    </html>
    echo "这段话", "由", "多个", "字符串", "串接而成。";//这段话由多个字符串串接而成。

    2)print 也是语言结构,有无括号均可使用:print 或 print()。

    <?php
    $txt1="Learn PHP";
    $txt2="W3School.com.cn";
    $cars=array("Volvo","BMW","SAAB");
    
    print $txt1;
    print "<br>";
    print "Study PHP at $txt2";
    print "My car is a {$cars[0]}";
    ?>

    4.PHP数据类型

    字符串,整数,浮点数,逻辑,数组,对象,NULL

    var_dump() 会返回变量的数据类型和值

    <?php 
    $cars=array("Volvo","BMW","SAAB");
    var_dump($cars); 
    ?>

    运行结果:array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }

    在 PHP 中,必须明确地声明对象。

    首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。

    然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型。

    5.字符串函数

    1)strlen()函数

    返回字符串长度,以字符计

    2)strpos()函数

    检索字符串内指定的字符或文本。

    如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。

    echo strpos("Hello world!","world");//6

    6.PHP常量

    有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。常量贯穿整个脚本是自动全局的。

    如需设置常量,请使用 define() 函数 - 它使用三个参数:

    1. 首个参数定义常量的名称
    2. 第二个参数定义常量的值
    3. 可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
    define("GREETING", "Welcome to W3School.com.cn!");
    echo GREETING;

    7.运算符

    .   串接    .=  串接赋值

    $a = "Hello";
    $b = $a . " world!";
    echo $b; // 输出 Hello world!
    
    $x="Hello";
    $x .= " world!";
    echo $x; // 输出 Hello world!
    运算符名称例子结果
    and $x and $y 如果 $x 和 $y 都为 true,则返回 true。
    or $x or $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
    xor 异或 $x xor $y 如果 $x 和 $y 有且仅有一个为 true,则返回 true。
    && $x && $y 如果 $x 和 $y 都为 true,则返回 true。
    || $x || $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
    ! !$x 如果 $x 不为 true,则返回 true。
    运算符名称例子结果
    + 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键)
    == 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
    === 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
    != 不相等 $x != $y 如果 $x 不等于 $y,则返回 true。
    <> 不相等 $x <> $y 如果 $x 不等于 $y,则返回 true。
    !== 不全等 $x !== $y 如果 $x 与 $y 完全不同,则返回 true。
    <?php
    $x = array("a" => "red", "b" => "green"); 
    $y = array("c" => "blue", "d" => "yellow"); 
    $z = $x + $y; // $x 与 $y 的联合
    var_dump($z);
    echo "<br>";
    var_dump($x == $y);
    echo "<br>";
    var_dump($x === $y);
    echo "<br>";
    var_dump($x != $y);
    echo "<br>";
    var_dump($x <> $y);
    echo "<br>";
    var_dump($x !== $y);
    ?>   
    array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" } 
    bool(false) 
    bool(false) 
    bool(true) 
    bool(true) 
    bool(true)

    8.条件语句

    在 PHP 中,我们可以使用以下条件语句:

    • if 语句 - 如果指定条件为真,则执行代码
    • if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
    • if...elseif....else 语句 - 选择若干段代码块之一来执行
    • switch 语句 - 语句多个代码块之一来执行
    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;
    }

    9.循环

    在 PHP 中,我们有以下循环语句:

    • while - 只要指定条件为真,则循环代码块
    • do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
    • for - 循环代码块指定次数
    • foreach - 遍历数组中的每个元素并循环代码块

    foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。

    <?php 
    $colors = array("red","green","blue","yellow"); 
    
    foreach ($colors as $value) {
      echo "$value <br>";
    }
    ?>

    10.函数

    用户定义的函数声明以关单 "function" 开头:

    function functionName() {
      被执行的代码;
    }

    函数名能够以字母或下划线开头(而非数字)。函数名对大小写不敏感。

    可以通过参数向函数传递信息。参数类似变量。

    参数被定义在函数名之后,括号内部。您可以添加任意多参数,只要用逗号隔开即可。

    下面的例子展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:

    <?php
    function setHeight($minheight=50) {
       echo "高度是:$minheight <br>";
    }
    
    setHeight(350);
    setHeight();
    setHeight(135);
    setHeight(80);
    ?>

    如需使函数返回值,请使用 return 语句:

    <?php
    function sum($x,$y) {
      $z=$x+$y;
      return $z;
    }
    
    echo "5 + 10 = " . sum(5,10) . "<br>";
    echo "7 + 13 = " . sum(7,13) . "<br>";
    echo "2 + 4 = " . sum(2,4);
    ?>

    11.数组

    在 PHP 中, array() 函数用于创建数组:array();

    在 PHP 中,有三种数组类型:

    • 索引数组 - 带有数字索引的数组
    • 关联数组 - 带有指定键的数组
    • 多维数组 - 包含一个或多个数组的数组

    1)有两种创建索引数组的方法:

    索引是自动分配的(索引从 0 开始):

    $cars=array("Volvo","BMW","SAAB");

    或者也可以手动分配索引:

    $cars[0]="Volvo";
    $cars[1]="BMW";
    $cars[2]="SAAB";

    获得数组的长度 - count() 函数

    count() 函数用于返回数组的长度(元素数),count($cars)

    2)关联数组是使用您分配给数组的指定键的数组。

    有两种创建关联数组的方法:

    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    

    或者:

    $age['Peter']="35";
    $age['Ben']="37";
    $age['Joe']="43";
    

    随后可以在脚本中使用指定键:

    <?php
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    $len=count($age);
    foreach($age as $i=>$j){
    echo $i.':'.$j.'<br/>';
    }
    ?>

    12.数组排序

    • sort() - 以升序对数组排序
    • rsort() - 以降序对数组排序
    • asort() - 根据值,以升序对关联数组进行排序
    • ksort() - 根据键,以升序对关联数组进行排序
    • arsort() - 根据值,以降序对关联数组进行排序
    • krsort() - 根据键,以降序对关联数组进行排序

    13.超全局变量

    PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

    这些超全局变量是:

    • $GLOBALS
    • $_SERVER
    • $_REQUEST
    • $_POST
    • $_GET
    • $_FILES
    • $_ENV
    • $_COOKIE
    • $_SESSION

    1)$GLOBALS — 引用全局作用域中可用的全部变量

    $GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。

    PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。

    2)$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。

    <?php 
    echo $_SERVER['PHP_SELF'];
    echo "<br>";
    echo $_SERVER['SERVER_NAME'];
    echo "<br>";
    echo $_SERVER['HTTP_HOST'];
    echo "<br>";
    echo $_SERVER['HTTP_REFERER'];
    echo "<br>";
    echo $_SERVER['HTTP_USER_AGENT'];
    echo "<br>";
    echo $_SERVER['SCRIPT_NAME'];
    ?>

    2)PHP $_REQUEST 用于收集 HTML 表单提交的数据。

    3)PHP $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。

    4)PHP $_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。

    $_GET 也可以收集 URL 中的发送的数据。

    详见:http://www.w3school.com.cn/php/php_superglobals.asp

    以上均来源于W3School   http://www.w3school.com.cn/php/index.asp

  • 相关阅读:
    SQL学习(一)之简介
    Mysql学习(三)之数据库管理工具Navicat
    Mysql学习(二)之安装、开启自启、启动、重启、停止
    Mysql学习(一)之简单介绍
    Mysql学习(二)之通过homebrew安装mysql后,为什么在系统偏好设置里没有mysql
    Git复习(十三)之git revert用法及与git reset区别
    Git复习(十二)之命令专场
    PE笔记之节
    PE文件格式---节和节表
    PE笔记之NT头PE扩展头
  • 原文地址:https://www.cnblogs.com/YangqinCao/p/5456543.html
Copyright © 2011-2022 走看看