测试可能未设置的变量中的 NULL 值

2023-12-21

考虑到:

  • The isset() http://es.php.net/isset如果设置了变量且非 NULL,则构造返回 TRUE
  • The 一片空白() http://es.php.net/is_null如果未设置变量,函数会抛出警告

有没有一种方法可以测试变量是否存在,无论它是否为 NULL,而不使用 @ 运算符来抑制通知?


EDIT

结合您的第一个回复,我一直在考虑这个问题,并且得出的结论是,检查 get_define_vars() 是区分设置为 NULL 的变量和未设置的变量的唯一方法。 PHP 似乎没有什么区别:

<?php

$exists_and_is_null = NULL;

// All these are TRUE

@var_dump(is_null($exists_and_is_null));
@var_dump(is_null($does_not_exist));

@var_dump($exists_and_is_null===NULL);
@var_dump($does_not_exist===NULL);

@var_dump(gettype($exists_and_is_null)=='NULL');
@var_dump(gettype($does_not_exist)=='NULL');

?>

$result = array_key_exists('varname', get_defined_vars());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试可能未设置的变量中的 NULL 值 的相关文章

  • 递归获取数组的键并创建下划线分隔的字符串

    现在我得到了一个包含某种信息的数组 我需要从中创建一个表 例如 Student Address StreetAddress gt Some Street StreetName gt Some Name Marks1 gt 100 Marks
  • 搜索引擎如何找到相关内容? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Google 在解析网络时如何找到相关内容 例如 Google 使用 PHP 原生 DOM 库来解析内
  • 简单的 PHP 条件帮助: if($Var1 = in list($List) and $Cond2) - 这可能吗?

    这是一个可能的功能吗 我需要检查一个变量是否存在于我需要检查的变量列表中 并且 cond2 是否为 true 例如 if row name 1 2 3 Cond2 doThis 它对我不起作用 我在复制粘贴中更改的只是我的列表和变量名称 i
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账

随机推荐

  • 从 System.Type 初始化通用对象

    我需要创建一个泛型类型 但我在编译时不知道该类型 我想这样做 Type t typeof whatever var list new List
  • python3.0上的安装工具

    我试图为 python3 0 安装 setuptool 包 但不幸的是 我尝试安装它说模块名称 dist 丢失 请帮我解决这个问题 截至 2013 年 3 月的编辑 请查看下面已接受的答案 以获取 LennartRegebro 的最新回复
  • 如何访问Django模板中的动态键? [复制]

    这个问题在这里已经有答案了 请看下面的代码 for row in df src iterrows tr td td tr
  • cURL 加载时间太长

    我使用 cURL 调用 PHP 中的 REST 端点来获取一些 JSON 数据
  • 如何使用 Xcode 调试 dylib?

    我有一个 arith 库的 Xcode 项目 我可以使用调试配置来构建它 并且我需要调试它 我怎样才能做到这一点 理想的方法是设置测试代码以在项目文件中构建执行 然后在 arith 库的源代码中设置断点 但是 Xcode arith 项目似
  • 使用 flink runner 在梁上进行 Tensorflow 变换

    这可能看起来很愚蠢 但这是我在这里发表的第一篇文章 抱歉做错了什么 我目前正在使用 python2 7 使用 TFX 0 11 即 tfdv tft tfserving 和tensorflow 1 11 构建一个简单的 ML 管道 我目前有
  • 捆绑安装时出现致命错误(安装 libv8 时)

    我在 Windows 7 32 位 上工作 在捆绑安装时出现错误 Installing libv8 3 3 10 4 with native extensions Unfortunately a fatal error has occurr
  • 如何在组件ContextMenu中的primeNG中使用属性appendTo?

    我正在尝试使用该属性appendTo在组件中上下文菜单 https www primefaces org primeng contextmenu 但我想将行为附加到一个元素 例如 div 在您想要附加的元素上添加主题标签 myHashTag
  • 查找沿轴不包括零的 numpy 数组的最小值/最大值

    有一种很好的方法可以找到数组中不包括零的非零最小值 最大值here https stackoverflow com questions 7164397 find the min max excluding zeros in a numpy
  • 将表单 POST 与查询字符串组合是否有效?

    例如 我知道在大多数 MVC 框架中 查询字符串参数和表单参数都可供处理代码使用 并且通常合并为一组参数 通常 POST 优先 但是 根据 HTTP 规范 这样做是否有效 假设您要发布到 http 1 2 3 4 MyApplication
  • Powershell:如何测试一行文本是否包含换行符或回车符?

    如何测试文本文件的第一行是否以 r 或 n 终止 我尝试了类似于以下的各种演绎 我不确定导入到 powershell 中的字符串 文件的第一行 是否包含不可见字符 我也尝试使用 StreamReader 方法读取该行 但无济于事 maste
  • 如何导出C#方法?

    我们如何导出 C 方法 我有一个 dll 我想通过 ctypes 模块在 Python 语言中使用它的方法 因为我需要使用 ctypes 模块 所以我需要导出 C 方法 以便它们在 Python 中可见 那么 如何导出 C 方法 就像在 C
  • 更改 gridview 以呈现 head 元素

    我看过一些其他关于如何实现此功能的帖子 但是 它们似乎都不关心您将 GridView 子类化为您自己的自定义服务器控件的情况 我试图设置这些属性以使 GridView 呈现 thead 元素 但我不断收到空引用异常 有接受者吗 这是 Dat
  • CoordinatorLayout 内的水平 RecyclerView

    我是 Android 开发新手 我正在 android lollipop 设备中使用 CoordinatorLayout 问题是 我有一个具有水平滚动的回收器视图 在滚动具有垂直滚动效果的回收器视图时会折叠 如果我不滚动水平回收器视图 如果
  • 最后一个窗口关闭时关闭 SwiftUI 应用程序[重复]

    这个问题在这里已经有答案了 当用户关闭最后一个窗口时 是否可以关闭 macOS SwiftUI 应用程序 类似于applicationShouldTerminateAfterLastWindowClosed应用程序委托函数 func app
  • 通过并发删除维护名称的唯一对象

    我正在使用以下编程习惯 我保持同步 HashMap 具有名称与对象的关联 要查找 对象的名称我使用以下代码 MyObject getObject String name synchronized map MyObject obj map g
  • 如何在 NodeJS 中维护请求会话

    我正在尝试使用NodeJS抓取需要登录的网站POST 然后 一旦我登录 我就可以通过以下方式访问单独的网页GET 现在的第一个问题是登录 我尝试过使用request to POST登录信息 但我得到的响应似乎没有登录 exports get
  • 空流,我必须包含 ostream 吗?

    我正在写一个记录器 如果禁用 这是定义 LOG 宏的代码 ifdef NO LOG include
  • iOS/Swift:如何检测 UITextField 上的触摸操作

    我想检测 UITextField 上的触摸操作 似乎 触摸内部 操作不是通过触摸文本字段内部来触发的 似乎没有启用 Touch Up Inside UITextField 但 着陆 有效 所以解决办法如下 斯威夫特 4 x myTextFi
  • 测试可能未设置的变量中的 NULL 值

    考虑到 The isset http es php net isset如果设置了变量且非 NULL 则构造返回 TRUE The 一片空白 http es php net is null如果未设置变量 函数会抛出警告 有没有一种方法可以测试