有没有一个单一的函数可以告诉PHP变量是NULL还是未定义?我将把变量传递给函数(如果需要,通过引用),但在运行时我不知道变量的名称。
isset()和is_null()不能区分NULL和未定义。 array_key_exists需要您在编写代码时知道变量的名称。 而且我没有找到一种方法来确定变量的名称而不定义它。
编辑
我也意识到通过引用传递变量会自动定义它。
详细说明
通过这些答案和评论的收集,我已经确定了我的问题的简短答案是“否”。感谢所有的输入。
以下是我需要这个的一些细节:
我创建了一个名为LoadQuery()的PHP函数,从查询数组中提取特定的SQL查询,然后准备将其提交给MySQL。最重要的是,我扫描查询变量(如$UserID),然后用当前范围中的值替换它们。在创建此函数时,我需要一种确定变量是否已声明为空、NULL或具有值的方法。这就是为什么我可能直到运行时才知道给定变量的名称的原因。
isset()和is_null()不能区分NULL和未定义。 array_key_exists需要您在编写代码时知道变量的名称。 而且我没有找到一种方法来确定变量的名称而不定义它。
编辑
我也意识到通过引用传递变量会自动定义它。
详细说明
通过这些答案和评论的收集,我已经确定了我的问题的简短答案是“否”。感谢所有的输入。
以下是我需要这个的一些细节:
我创建了一个名为LoadQuery()的PHP函数,从查询数组中提取特定的SQL查询,然后准备将其提交给MySQL。最重要的是,我扫描查询变量(如$UserID),然后用当前范围中的值替换它们。在创建此函数时,我需要一种确定变量是否已声明为空、NULL或具有值的方法。这就是为什么我可能直到运行时才知道给定变量的名称的原因。
get_last_error
等方法来进行极其卑劣的操作,但这只是一种理论上的练习,而不是我想在代码中看到的东西。我会说这听起来像是一件非常奇怪的事情,可能可以通过其他层次或设计更好地处理。你能给我们举个例子,你会如何使用这段代码? - Wrikkenundefined variable
й”™иҮҮжҚ•иҺ·дҢњдёғжњЂеђҺзљ„еЉһжі•гЂ‚иү™дёҒдё»ж„ЏдёҚй”™гЂ‚ - Andrewget_last_error
与debug_backtrace
混合在一起... 但是,这是不应该需要的。除非这是一个纯学术问题,否则这里存在设计缺陷,我们应该探讨一下。 - Wrikken