gpt4 book ai didi

php - 如何使用 php 将零值视为 true?

转载 作者:行者123 更新时间:2023-12-02 04:35:46 25 4
gpt4 key购买 nike

这是我的示例代码:

$issue_id = $_POST['issue_id'];
if(!empty($issue_id)){
echo 'true';
}
else{
echo 'false';
}

如果我通过表单提交将 0 传递给 $_POST['issue_id'],那么它会返回 false。我想要的是:如果满足以下条件,条件将为真:1. 当我传递任何具有 0 的值时为真。2. false 当我不传递任何值时。即:$_POST['issue_id'] 未定义。

我也试过这个:

if(!isset($issue_id)){
echo 'true';
}
else{
echo 'false';
}


if(!empty($issue_id) || $issue==0){
echo 'true';
}
else{
echo 'false';
}

最后一个没问题,这意味着如果我传递任何具有零的值,那么它将回显为真。但如果我不传递任何值,它也会回显 true。任何的想法?

最佳答案

The last is okay, meaning if I pass any value having ZERO then it echo true. But it also echo true if I don't pass any value. Any idea?

if (isset($_POST["issue_id"]) && $_POST["issue_id"] !== "") {
}

请注意我使用的是 !== 而不是 !=。这就是为什么:

0 == "" // true
0 === "" // false

查看更多信息 http://php.net/manual/en/language.operators.comparison.php


另外,如果你期待你可以使用的数字

if (isset($_POST["issue_id"]) && is_numeric($_POST["issue_id"])) {
}

因为 is_numeric("") 返回 false

http://php.net/manual/en/function.is-numeric.php


或者,如果您希望数字好的选项是 filter_var

if (isset($_POST["issue_id"]) {
$issue_id = filter_var($_POST["issue_id"], FILTER_VALIDATE_INT);
if ($issue_id !== false) {
}
}

因为 filter_var("", FILTER_VALIDATE_INT) 将返回 false 而 filter_var("0", FILTER_VALIDATE_INT) 将返回 (int) 0

http://php.net/manual/en/function.filter-var.php

关于php - 如何使用 php 将零值视为 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43387096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com