zoukankan      html  css  js  c++  java
  • PHP学习笔记2

    PHP 运算符


    本章节我们将讨论 PHP 中不同运算符的应用。

    在 PHP 中,赋值运算符 = 用于给变量赋值。

    在 PHP 中,算术运算符 + 用于把值加在一起。


    PHP 算术运算符

    运算符名称描述实例结果
    x + y x 和 y 的和 2 + 2 4
    x - y x 和 y 的差 5 - 2 3
    x * y x 和 y 的积 5 * 2 10
    x / y x 和 y 的商 15 / 5 3
    x % y 模(除法的余数) x 除以 y 的余数 5 % 2
    10 % 8
    10 % 2
    1
    2
    0
    - x 取反 x 取反 -2 -2
    a . b 并置 连接两个字符串 "Hi" . "Ha" HiHa

    PHP 赋值运算符

    在 PHP 中,基本的赋值运算符是 "="。它意味着左操作数被设置为右侧表达式的值。也就是说,"$x = 5" 的值是 5。

    运算符等同于描述
    x = y x = y 左操作数被设置为右侧表达式的值
    x += y x = x + y
    x -= y x = x - y
    x *= y x = x * y
    x /= y x = x / y
    x %= y x = x % y 模(除法的余数)
    a .= b a = a . b 连接两个字符串

    PHP 比较运算符

    比较操作符可以让您比较两个值:

    运算符名称描述实例
    x == y 等于 如果 x 等于 y,则返回 true 5==8 返回 false
    x === y 绝对等于 如果 x 等于 y,且它们类型相同,则返回 true 5==="5" 返回 false
    x != y 不等于 如果 x 不等于 y,则返回 true 5!=8 返回 true
    x <> y 不等于 如果 x 不等于 y,则返回 true 5<>8 返回 true
    x !== y 绝对不等于 如果 x 不等于 y,或它们类型不相同,则返回 true 5!=="5" 返回 true
    x > y 大于 如果 x 大于 y,则返回 true 5>8 返回 false
    x < y 小于 如果 x 小于 y,则返回 true 5<8 返回 true
    x >= y 大于等于 如果 x 大于或者等于 y,则返回 true 5>=8 返回 false
    x <= y 小于等于 如果 x 小于或者等于 y,则返回 true 5<=8 返回 true

    PHP 逻辑运算符

    运算符名称描述实例
    x and y 如果 x 和 y 都为 true,则返回 true x=6
    y=3 
    (x < 10 and y > 1) 返回 true
    x or y 如果 x 和 y 至少有一个为 true,则返回 true x=6
    y=3 
    (x==6 or y==5) 返回 true
    x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6
    y=3 
    (x==6 xor y==3) 返回 false
    x && y 如果 x 和 y 都为 true,则返回 true x=6
    y=3
    (x < 10 && y > 1) 返回 true
    x || y 如果 x 和 y 至少有一个为 true,则返回 true x=6
    y=3
    (x==5 || y==5) 返回 false
    ! x 如果 x 不为 true,则返回 true x=6
    y=3
    !(x==y) 返回 true

    PHP 数组运算符

    运算符名称描述
    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

    三元运算符

    另一个条件运算符是"?:"(或三元)运算符 。

    语法格式

    (expr1) ? (expr2) : (expr3)

    对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

    自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

    运算符优先级

    下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

    说明:左 = 从左到右,右 = 从右到左。

    结合方向运算符附加信息
    clone new clone 和 new
    [ array()
    ++ -- ~ (int) (float) (string) (array) (object) (bool) @ 类型和递增/递减
    instanceof 类型
    ! 逻辑运算符
    * / % 算术运算符
    + – . 算术运算符和字符串运算符
    << >> 位运算符
    == != === !== <> 比较运算符
    & 位运算符和引用
    ^ 位运算符
    | 位运算符
    && 逻辑运算符
    || 逻辑运算符
    ? : 三元运算符
    = += -= *= /= .= %= &= |= ^= <<= >>= => 赋值运算符
    and 逻辑运算符
    xor 逻辑运算符
    or 逻辑运算符
    , 多处用到

    运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。

    PHP 条件语句

    当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。

    在 PHP 中,提供了下列条件语句:

    • if 语句 - 在条件成立时执行代码
    • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
    • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
    • switch 语句 - 在若干条件之一成立时执行一个代码块

    PHP Switch 语句

    如果您希望有选择地执行若干代码块之一,请使用 switch 语句。

    语法

    <?php switch (n) { case label1: 如果 n=label1,此处代码将执行; break; case label2: 如果 n=label2,此处代码将执行; break; default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行; } ?>

    工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

    数组是什么?

    数组是一个能在单个变量中存储多个值的特殊变量。

    如果您有一个项目清单(例如:车名字的清单),将其存储到单个变量中,如下所示:

    $cars1="Volvo";
    $cars2="BMW";
    $cars3="Toyota";

    然而,如果您想要遍历数组并找出特定的一个呢?如果数组的项不只 3 个而是 300 个呢?

    解决办法是创建一个数组!

    数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。


    在 PHP 中创建数组

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

    array();

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

    • 数值数组 - 带有数字 ID 键的数组
    • 关联数组 - 带有指定的键的数组,每个键关联一个值
    • 多维数组 - 包含一个或多个数组的数组

    PHP 数值数组

    这里有两种创建数值数组的方法:

    自动分配 ID 键(ID 键总是从 0 开始):

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

    人工分配 ID 键:

    $cars[0]="Volvo";
    $cars[1]="BMW";
    $cars[2]="Toyota";
    count() 函数用于返回数组的长度(元素的数量)

    PHP 关联数组

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

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

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

    or:

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

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

    实例

    <?php
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    echo "Peter is " . $age['Peter'] . " years old.";
    ?>
     

    遍历关联数组

    遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:

    实例

    <?php
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    foreach($age as $x=>$x_value)
    {
      echo "Key=" . $x . ", Value=" . $x_value;
      echo "<br>";
    }
    ?>
     
    Key=Peter, Value=35
    Key=Ben, Value=37
    Key=Joe, Value=43
     

    PHP - 数组排序函数

    在本章中,我们将一一介绍下列 PHP 数组排序函数:

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

    PHP 超级全局变量

    PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

    PHP 超级全局变量列表:

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

    本章节我们将讲解几个常用的超级全局变量,其余变量我们在接下来几个章节会介绍到。

    PHP $GLOBALS

    $GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。

    $GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

    PHP $_SERVER

    $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

    PHP $_REQUEST

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

    PHP $_POST

    PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

    PHP $_GET

    PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。

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

    PHP 循环

    在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。

    在 PHP 中,提供了下列循环语句:

    • while - 只要指定的条件成立,则循环执行代码块
    • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
    • for - 循环执行代码块指定的次数
    • foreach - 根据数组中每个元素来循环代码块

    for 循环

    for 循环用于您预先知道脚本需要运行的次数的情况。

    语法

    for (初始值; 条件; 增量)
    {
        要执行的代码;
    }

    参数:

    • 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
    • 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
    • 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

    注释:上面的初始值增量参数可为空,或者有多个表达式(用逗号分隔)。

    oreach 循环

    foreach 循环用于遍历数组。

    语法

    foreach ($array as $value)
    {
        要执行代码;
    }

    每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。

    实例

    下面的实例演示了一个输出给定数组的值的循环:

    实例

    <?php $x=array("one","two","three"); foreach ($x as $value) { echo $value . "<br>"; } ?>

    输出:

    one
    two
    three
  • 相关阅读:
    MusicXML 3.0 (7) 连线、延音线
    Castle ActiveRecord学习实践(7):使用HQL查询
    C#中废弃一个方法小技巧
    加入BI团队,推荐一个商业智能的论坛
    .NET设计模式(13):享元模式(Flyweight Pattern)
    重载还是覆写?
    Castle ActiveRecord学习实践(2):构建配置信息
    使用WebClient上传文件时的错误问题解决
    Castle ActiveRecord学习实践(5):实现Many–Many关系的映射
    天津.NET俱乐部成立了!
  • 原文地址:https://www.cnblogs.com/chickenwrap/p/10261547.html
Copyright © 2011-2022 走看看