zoukankan      html  css  js  c++  java
  • 0919表达式&运算符注意点

    ♠ 赋值操作的顺序是由右到左的

    $c = $b / $a

    $c的类型取决于 $b / $a 计算下来的值 可以是 integer OR float ...

    算术运算符
    例子名称结果
    -$a 取反 $a 的负值。
    $a + $b 加法 $a 和 $b 的和。
    $a - $b 减法 $a 和 $b 的差。
    $a * $b 乘法 $a 和 $b 的积。
    $a / $b 除法 $a 除以 $b 的商。
    $a % $b 取模 $a 除以 $b 的余数。












    除法运算符总是返回浮点数。只有在下列情况例外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。

    取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。

    取模运算符 % 的结果和被除数的符号(正负号)相同。即 $a % $b 的结果和 $a 的符号相同。

    $a % $b 取模 余数的符号 仅与 $a 有关


    === 全等于,(不仅值相等,连变量类型也相等)
    !== 不全等于

    在不同的类型比较时,
    PHP程序本身
    会把变量转换成一致的类型,然后再去比较.

    1: 布尔值 --> 字符串
    2: 字符串 --> 数字的转换
    3: 字符串 --> 布尔的转换
    4: 数字 ---> 布尔的转换
    5: 数字 ---> 字符串转换.

    其实有的语言中,根本就没有布尔型,都是拿 1, 0 充当 true/false用.
    0, 0.0, 这两个值,转换成布尔是 false,
    其他 都是true, 包括负数,也是true

    1: 布尔值 --> 字符串
    true --> '1'
    false ---> '';

    2: 字符串 --> 数字的转换
    从字符串左端开始找数字,直到第一个非数字结束,取出来的这一部分,即是转换后的值.

    '3q' ===> 3
    '123abc456' ===> 123
    'fdsafdsaf789' === > 0

    3: 字符串 --> 布尔的转换
    ''字符串,'0',这种转换成 false,
    其他一概是true

    4:数字 --> 布尔
    只有整型的0,和浮点0.0, 转成false
    其他,甚至负数,也转成ture

    5:数字 -->字符串
    直接是字面本身

    字符串拼接符号 .

    echo $a.$b.$c; 多一次拼接,先拼接再输出,

    echo $a,$b,$c; 少一次拼接,快一点,挨个输出


    补充:

    当转换为 boolean 时,以下值被认为是 FALSE

    • the 布尔值 FALSE 自身
    • the 整型值 0 (零)
    • the 浮点型值 0.0 (零)
    • 空 字符串, 以及 字符串 "0"
    • 不包括任何元素的数组
    • 不包括任何成员变量的对象(仅PHP 4.0 适用)
    • 特殊类型 NULL (包括尚未设定的变量)
    • 从没有任何标记(tags)的XML文档生成的SimpleXML 对象 

     

  • 相关阅读:
    P1908 逆序对
    P1967 货车运输
    成也DP,败也DP(AFO?)
    Review Before THUWC2020
    THUWC2020游记
    loj6295. 无意识之外的捉迷藏
    loj6504. 「雅礼集训 2018 Day5」Convex
    某道XJ题
    loj2304. 「NOI2017」泳池
    loj6435. 「PKUSC2018」星际穿越
  • 原文地址:https://www.cnblogs.com/zy2012/p/3359294.html
Copyright © 2011-2022 走看看