PHP比较运算符的详细介绍_php技巧
比较运算符种类 如同它们名称所暗示的,允许对两个值进行比较。比较运算符有如下几个: 其中,我们要重点区分一下“等于”和“全等于”,$a == $b只是对两个变量的值进行了比较运算,而全等于要对运算符两边的表达式同时进行值的比较和数据类型的比较,只有两边的值都相等,运算结果才是“真”。结合“不全等”运算符举例来说,$a = 2; var_dump($a!==2);这个表达式返回值是“假”,因为2是等于2的。另外,$a = 2;是整型而var_dump($a!==2);里的2也是整型,但运算符是不全等于"!=="所以结果是假,因为2是等于2的。反过来如果是这样$a = 2; var_dump($a!=='2');运算结果就是“真”的,因为2不等于'2',后面的'2'是一个字符串的'2',即不全等于不仅仅只是比较变量值,还要对变量的数据类型进行比较。 如果PHP比较运算符比较一个整数和字符串,则字符串会被转换为整数后比较。如果比较两个数字字符串,则会把它们作为整数比较,另外此规则也适用于 switch 语句。 string或null和string的比较:将NULL 转换为 "",进行数字或字符串的比较
function standard_array_compare($op1, $op2) { if (count($op1) < count($op2)) { //具有较少成员的数组较小 return -1; // $op1 < $op2 } elseif (count($op1) > count($op2)) { return 1; // $op1 > $op2 } foreach ($op1 as $key => $val) { if (!array_key_exists($key, $op2)) { return null; } else if ($val < $op2[$key]) { return -1; } elseif ($val > $op2[$key]) { return 1; } } return 0; // $op1 == $op2 } 比较运算符中的三元运算符: 表达式 (expr1) ? (expr2) : (expr3) 当表达式expr1 的值为 TRUE 时的值为expr2,当表达式 expr1 的值为 FALSE 时的值为expr3。 以上就是比较运算符的重点内容了,文中对这些运算符和比较规则进行了解析,后面就要通过更多的练习才能把这些内容进行掌握和消化。 |