比较两个整数

4
如何在PHP中比较两个整数?
我尝试过以下方法:
print (1 > 2);           // No output
$a = 1;
$b = 2;
$c = ($a > $b) ? true : false;
print ($c);              // No output

var_dump 运行正常。我已安装最新版本的 PHP。


PHP内置的REPL非常糟糕。我建议您从github.com下载一些PHP REPL。 - Xeoncross
所以 var_dump() 能正常工作,但 print() 不行?这不是暗示 print() 有问题而不是比较变量本身有问题吗? - JJJ
此外,$foo ? true : false 是多余的(如果变量为 true,则它将评估为 true,如果为 false,则评估为 false)。 - JJJ
我正在使用php的similar_text($str1, $str2, $p)函数比较两个字符串。我将$p与70进行比较,以查看$p是否大于70。但是没有任何反应,所以我决定打印比较结果print ( $p > 70 ),但(现在我知道)php没有输出任何内容。 - MontrealDevOne
7个回答

5

你的两个比较结果都返回了false,这不会输出任何值。

<?php
echo true;
echo false;

3

print(false) 不会输出任何内容。

如果您想显示 false,请尝试使用 var_export(false)


3
你试图在两种情况下都打印false,这将被转换为空字符串,因此你看不到任何输出。尝试使用var_dump或输出一个带有适当控制结构(例如if else)的字符串。

2
您可以使用PHP的太空船运算符(PHP 7的新功能)来比较两个变量(int、float、string)的值。
  • 整数
    echo 1 <=> 1; // 0
    echo 1 <=> 2; // -1
    echo 2 <=> 1; // 1
  • 浮点数
    echo 1.5 <=> 1.5; // 0
    echo 1.5 <=> 2.5; // -1
    echo 2.5 <=> 1.5; // 1
  • 字符串
    echo "a" <=> "a"; // 0
    echo "a" <=> "b"; // -1
    echo "b" <=> "a"; // 1

0
echo ($a > $b) ? "true" : "false";

0

可以使用类似以下的方式:

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

或者使用var_dump()


0

你的示例中的比较运算正常工作。问题在于当你打印 true 或 false 值时,它们不会呈现任何内容。尝试使用以下代码:

$ php -a
$ print (1 > 2) ? 'true' : 'false';
$ $a = 1;
$ $b = 2;
$ $c = ($a > $b) ? true : false;
$ print ($c) ? 'true' : 'false';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接