在PHP 7 中,我们有一个新的运算符, spaceship operator <=>,我发现它与strcmp().
它们之间有什么区别吗?
编辑:我在问它们之间的区别,没有提到PHP 7 中的 <=> ('Spaceship' Operator) 是什么?或PHP 7 中的 <=>('Spaceship' 运算符)是什么?
strcmp - 它是 “二进制安全”字符串比较的函数
如果左侧较小,则太空船运算符 (<=>) 返回 -1;如果值相等,则返回 0;如果左侧较大,则返回 1。它可以用于与 < 、 <= 、 == 、 >= 、 > 具有相同语义的所有通用 PHP 值。该运算符的行为与 strcmp() 或 version_compare() 类似。该运算符可用于整数、浮点数、字符串、数组、对象等。
例如,您可以比较数组或对象,并且通过float您会得到不同的结果:
$var1 = 1.3;
$var2 = 3.2;
var_dump($var1 <=> $var2); // int(-1)
var_dump(strcmp($var1, $var2)); // int(-2)
Run Code Online (Sandbox Code Playgroud)
以及其他差异...