php系统常量和运算符

1.系统常量。

  • 开头和结尾都有两个下划线, 按这种格式的都是系统的预定义常量
    echo PHP_OS; // 系统名称
    echo PHP_VERSION;// 当前php的版本
    echo __LINE__; // 在当前文件中的第几行
    echo __LINE__; // 在当前文件中的第几行
    echo __FILE__; // 当前文件地址
    echo __DIR__; // 当前文件的目录地址
    /**
     * __CLASS__ 对象的名字
     * __METHOD__ 对象里的的方法的名字
     * __NAMESPACE__ 命名空间
     * __FUNCTION__ 函数的名字
     */
  • define('常量名','常量值'),自定义常量,常量值可以是数组,变量,对象等。
  • const '常量名' = '常量值',自定义常量。。
  • 常量一经定义无法更改,知道程序运行结束。
  • defined('常量名'),检测常量是否存在,是返回true,否则false。
  • get_defined_constants():返回的是数组,包含已定义的常量,包括系统预定义常亮。

2.算术运算符

运算符有3种类型

  • 一元运算符: 只有一个值进行运算 -10;
  • 二元运算符: + * /, 必须要有两个值来进行运算
  • 三元运算符: ?: 它一般用来根据一个表达式在另两个表达式中选择一个.

注意运算符的结合性。下图排名越前,则该运算符优先级越高。

ps:运算符优先级和结合性仅确定表达式的分组方式,不指定计算顺序。PHP(在一般情况下)不指定表达式的求值顺序,应该避免采用特定求值顺序的代码,因为行为可能在不同的PHP版本之间或取决于周围的代码而改变。

3.赋值运算符

4.递增/递减运算符

执行规律

  • 前置加加: 先加加,在输出

  • 后置加加: 先输出,在加加

ps:一条语句不应当同时 ①取变量值 ②对变量产生副作用(更改、赋值等)。
只有极为简单的情况下可以容忍,例如 $r = $a++;。但这个实践仍然不良,最好改掉。

5.PHP 比较运算符

  • 数字之间比较
    var_dump(2 > 1);
    var_dump(1 > 1);
    var_dump(2 < 1);
    var_dump(2 < 2);

    运算最终会表达为一个布尔值, 成立则为真, 不成立则为假。

  • 字符比较

    var_dump('A' < 'B');//true

    先将字符变成 ascii, 然后在进行数字的大小判断,大写A在ASCII编码中为65,B为66,65<66,所以返回true

  • 等于

    如果字符串是数字或数字开头,开头的数字被自动转成数字来判断。

    只要数字大小一样, 就能够判断成功, 不管类型。

    不等于(!=)同理。

    var_dump(10 == 10); // true
    var_dump(10 == 20); // false
    var_dump(10 == '10'); // true
    var_dump(10.0 == '10'); // true
    var_dump(10 == '10内容'); // true

    全等于/全不等于

    在不等于的基础上增加了类型判断。

var_dump(10 !== 10); // false
var_dump('10' !== 10); // true
var_dump(10 !== 10.0); // true

    除了数值大小一样,数据类型也要求一致,否则返false

php_0306_day4

posted @ 2020-03-13 04:35  正义联盟  阅读(155)  评论(0)    收藏  举报