4

你如何比较php中的两个整数?

我试过了

print (1 > 2);           // No output
$a = 1;
$b = 2;
$c = ($a > $b) ? true : false;
print ($c);              // No output

var_dump 工作正常。我安装了最新的 PHP。

4

7 回答 7

5

您的两个比较都返回false不会打印出值。

<?php
echo true;
echo false;
于 2012-05-31T16:11:19.773 回答
3

print(false)不会输出任何东西。

如果要显示false,请尝试var_export(false)

于 2012-05-31T16:10:47.023 回答
3

在这两种情况下,您都尝试打印 false ,这将被强制转换为空字符串,因此您看不到任何打印内容。

尝试使用var_dump代替或输出具有适当控制结构的字符串(即 if else)

于 2012-05-31T16:11:39.523 回答
2

您可以使用Spaceship 运算符比较 php 中的两个变量(int,float,string)值(php 7 的新功能

  • 整数
    回显 1 <=> 1; // 0
    回声 1 <=> 2; // -1
    回声 2 <=> 1; // 1
  • 浮动
    echo 1.5 <=> 1.5; // 0
    回声 1.5 <=> 2.5; // -1
    回声 2.5 <=> 1.5; // 1
  • 字符串
    echo "a" <=> "a"; // 0
    echo "a" <=> "b"; // -1
    echo "b" <=> "a"; // 1
于 2017-05-30T13:20:27.357 回答
0

您示例中的比较工作正常。问题是当您打印真值或假值时,它们不会呈现任何内容。尝试这样的事情:

$ php -a
$ print (1 > 2) ? 'true' : 'false';
$ $a = 1;
$ $b = 2;
$ $c = ($a > $b) ? true : false;
$ print ($c) ? 'true' : 'false';
于 2012-05-31T16:12:29.783 回答
0
echo ($a > $b) ? "true" : "false";
于 2012-05-31T16:12:45.990 回答
0

要么使用类似的东西:

$c = $a > $b;
echo $c;

或使用var_dump()

于 2012-05-31T16:23:44.720 回答