Php 返回1的True

Php 返回1的True,php,Php,虚假很有效,但当我返回真实时,我得到了真实1为什么 $num = 3; function number($num) { for($i = 2; $i < $num; $i++) { if($num % $i == 0) { echo("false"); return false; } } echo("true"); return true; } echo number

虚假很有效,但当我返回真实时,我得到了真实1为什么

$num = 3;

function number($num)
{
    for($i = 2; $i < $num; $i++) {

        if($num % $i == 0) {
            echo("false");

            return false;
        }
    }
    echo("true");

    return true;
}

 echo number($num);
$num=3;
函数编号($num)
{
对于($i=2;$i<$num;$i++){
如果($num%$i==0){
回声(“假”);
返回false;
}
}
回声(“真”);
返回true;
}
回音号码($num);

因为在PHP中,TRUE与字符串格式中的1相同。但是,PHP处理数据类型的方式不同,这就是为什么需要使用
==
操作符来验证类型和数据

您进行的任何比较都应该使用
==
运算符


查看实际返回内容的一种方法是在输出上使用
var\u dump

因为在PHP中
TRUE
与字符串格式中的1相同。但是,PHP处理数据类型的方式不同,这就是为什么需要使用
==
操作符来验证类型和数据

您进行的任何比较都应该使用
==
运算符


查看实际返回内容的一种方法是在输出上使用
var\u dump

当您使用
echo number($num)时
true
将被转换为字符串,该字符串将显示为“1”。

当您
回显编号($num)时
true
被转换为字符串,结果为“1”。

回显true将始终为1。试一试

var_dump($num);

这将向您显示变量的类型和值。在那里你会发现这是真的

回显“真”将始终为您提供1。试一试

var_dump($num);

这将向您显示变量的类型和值。在那里你会发现这是真的

在本例中,您将布尔值
true
隐式转换为整数,其值将为
1

要严格比较,需要使用类型和值比较,即
==
运算符


另外,
var\u dump()
print\u r()
显示变量的类型。

在您的例子中,您将布尔值
true
隐式转换为整数,其值将为
1

要严格比较,需要使用类型和值比较,即
==
运算符


另外,
var\u dump()
print\u r()
显示变量的类型。

尝试回显某个值时,该值将转换为字符串。所以,你想回应布尔值。好的,让我们阅读关于

布尔真值转换为字符串“1”。布尔值FALSE转换为“”(空字符串)


当您尝试回显某个值时,它的值将转换为字符串。所以,你想回应布尔值。好的,让我们阅读关于

布尔真值转换为字符串“1”。布尔值FALSE转换为“”(空字符串)


你可能想作为旁白来读,这个功能的意图是什么?据我所知,您正在尝试确定
$num
是否为素数。通过为函数和变量指定有意义的名称,可以提高代码的可读性。因此,您可以将其命名为
is_prime()
,而不是
number()
。那么,您实际需要什么呢?您可能想将其作为旁白阅读,该函数的目的是什么?据我所知,您正在尝试确定
$num
是否为素数。通过为函数和变量指定有意义的名称,可以提高代码的可读性。因此,您可以将其命名为
is\u prime()
,而不是
number()
。那么,您实际需要什么?您希望它显示文本true吗?如果是,那么你需要手动操作。你需要更清楚地解释这样的答案
true
与1不同。1是“真实的”,但它与1不同。看到了吗?您想让它显示文本true吗?如果是,那么你需要手动操作。你需要更清楚地解释这样的答案
true
与1不同。1是“真实的”,但它与1不同。看见