是否有完美的方法来检查 isset 和 is_numeric 1 条件

Posted

技术标签:

【中文标题】是否有完美的方法来检查 isset 和 is_numeric 1 条件【英文标题】:is there perfect way to check isset and is_numeric in 1 condition 【发布时间】:2021-01-13 10:00:47 【问题描述】:

我想在 php 中将这两个条件合二为一。

isset( $_GET['number'] )
    is_numeric( $_GET['number'] )
        /*----------------*/
    

我尝试了下面的代码,但它显示错误

isset( is_numeric($_GET['number']) )
        /*----------------*/

提前致谢。

【问题讨论】:

【参考方案1】:

如果您只是依赖于在值未设置或数值未设置的情况下返回 false 的条件,那么您可以使用 null 合并将其设置为某个非数值,这将导致 is_numeric() 失败...

if(is_numeric( $_GET['number'] ?? "fail" ))
    // Is set and numeric

【讨论】:

感谢您的帮助 @MostlyFullStack 如果这确实回答了您的问题,请考虑将答案标记为已接受(答案旁边的向上/向下投票箭头下方的复选标记)。见What should I do when someone answers my question? 和How does accepting an answer work?

以上是关于是否有完美的方法来检查 isset 和 is_numeric 1 条件的主要内容,如果未能解决你的问题,请参考以下文章

PHP检查属性是否存在于对象或类property_exists(mixed $ class,string $ property)isset(mixed $ var [,mixed $ ...])(代码

isset和empty以及is_null区别

检查用户是不是提交表单的正确方法

深入理解PHP之isset和array_key_exists对比

检查一个数字是不是是一个完美的正方形

检查一个数字是不是是一个完美的正方形