为什么未定义的常量的计算结果为 true?

2024-01-06

愚蠢的问题——我很惊讶这个咬了我。为什么 PHP 中未定义的常量的计算结果为 true?

测试用例:

<?php
    if(WHATEVER_THIS_ISNT_DEFINED)
        echo 'Huh?';
?>

上面的示例打印“嗯?”

非常感谢你的帮助! :)


Try defined('WHATEVER_THIS_ISNT_DEFINED')

当 PHP 遇到未定义的常量时,会抛出异常E_NOTICE,并使用您尝试用作字符串的常量名称。这就是为什么你的片段打印Huh!,因为非空字符串(不是"0")将评估为true.

从手册中:

如果使用未定义的常量,PHP 假设您指的是 常数本身,就像你调用 它作为一个字符串(CONSTANT 与 “持续的”)。级别错误 当此情况时,将发出 E_NOTICE 发生。

如果您将错误报告级别设置为报告E_NOTICEs,这是开发过程中的一个很好的做法,您还会看到抛出的通知。

  • PHP 常量语法 http://www.php.net/manual/en/language.constants.syntax.php
  • 定义() http://www.php.net/manual/en/function.defined.php
  • 转换为布尔值 http://php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
  • 错误报告 http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
  • error_reporting() 函数 http://php.net/manual/en/function.error-reporting.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么未定义的常量的计算结果为 true? 的相关文章

随机推荐

  • 如何在量角器中发送键盘按键(如 TAB)

    我需要选择一个元素 向其发送值 按 Tab 键 然后发送新值 我可以选择元素并向其发送值 但无法从键盘发送 TAB 然后发送新值 我首先使用 ptor 但后来它已被废弃 我现在尝试使用 browser key 做同样的事情 但它对我不起作用
  • 错误:摘要已在进行中

    我有以下错误 错误 rootScope inprog digest 已在进行中http errors angularjs org 1 2 16 http errors angularjs org 1 2 16 rootScope inpro
  • Python:允许调用未明确定义的方法 ala __getattr__

    我正在尝试编写一个能够执行以下操作的 Python 类 c MyClass a c A a name for A Calls internally c create A a name for A b c B a name for B Cal
  • 通过 https 发送敏感数据的安全性如何?

    SSL 是否足够安全 可以在查询字符串中使用敏感数据 例如密码 是否有任何额外的选项可以实施 SSL 提供安全的传输级安全 客户端和服务器之间的任何人都不应能够读取该信息 But你应该改变在查询字符串中写入敏感数据的想法 它将显示在浏览器的
  • Raspberry Pi 上的 Python 无限循环内的用户输入在多次点击时会丢失输入

    我有一个非常基本的parrot用 Python 编写的脚本 仅提示用户输入并在无限循环内将其打印回来 Raspberry Pi 配有一个用于输入的 USB 条形码扫描仪 while True barcode raw input Scan b
  • 自定义 TableView 单元格内容在 ios 9 xcode 7 上不可见

    iOS 9 的升级似乎破坏了我所有的自定义 uitableviewcell 它们只显示具有正确高度的 tableviewcell 但其中的所有元素都丢失了 该布局在 iOS 8 和 iOS 7 设备上完美运行 Here s a screen
  • java中如何检查字符串是否为空?

    如何在java中检查字符串是否为空 我在用 stringname equalsignorecase null 但它不起作用 string null比较对象是否为空 string equals foo 比较该对象内部的值 string foo
  • Eclipse web.xml 引用文件错误

    我在 Eclipse 中导入了一个项目作为 Maven 项目 我将 Web 应用程序版本从 2 5 升级到 3 1 因为它是作为 Dynamic Web Module 3 1 导入的 现在我收到以下错误 通过文件 web xml 验证文件
  • 如何从 Vala 编译器生成 GIR 文件?

    我正在尝试使用 pygi 和 gobject introspection 创建到 vala 库的 python 绑定 但是 我在生成 GIR 文件时遇到问题 我计划随后将其编译为 typelib 文件 根据文档 valac 应该支持生成 G
  • Git-svn W: -empty_dir 警告。他们的意思是什么?

    在尝试使用标准布局使用 git svn 克隆现有 Subversion 存储库时 我得到了一堆W empty dir and W empty dir 警告 克隆的 git 存储库似乎正在工作 即我可以执行常规的 git 操作并提交到 SVN
  • 在 Eclipse 中将 Android 项目转换为“常规”Java 项目?

    我继承了一些最初作为 Android 项目的代码 但实际上只是供其他应用程序使用的 API 因此 构建 过程通常只生成一个 JAR 文件 我遇到的问题是 我的控制台中的 Android 构建工具出现错误 每次我对某些文件进行更改时 这些错误
  • Word2vec - 获取相似度排名

    鉴于我有一个 word2vec 模型 由 gensim 提供 我想获得单词之间的排名相似度 例如 假设我有 desk 这个词 与 desk 最相似的词是 表0 64 椅子0 61 预订 0 59 铅笔0 52 我想创建一个函数 f 桌子 书
  • Simulink - 每 30 秒输出 1,否则输出 0

    我需要一个需要每隔 30 秒或略超过 30 秒输出 1 的子系统 用matlab代码编写它应该像这样工作 function y fcn time uplinkTimeInterval codegen persistent lastTrigg
  • mod_rewrite 中的正则表达式匹配不以 this OR that 结尾的 URL

    这个的正则表达式是什么 匹配 if 字符串 NOT 结束于 php或结束于 html或包含 谢谢你 编辑 我需要NOT部分是因为该表达式将用于 Apache mod 重写 因为我无法更改的逻辑mod rewrite以避免NOT 编辑 我最初
  • 如何解决读取日历或发送邮件时 Microsoft Graph 返回“NoPermissionsInAccessToken”的问题

    在我们部门内 我们有一个经典 ASP 网站 该网站一直使用我们的公司 Google 帐户进行身份验证并将事件插入我们的 Google 日历 该组织刚刚从 Google 切换到 Office 365 我尝试将代码切换为使用 Outlook 但
  • 使用 addNA() 后查找 NA 值

    我有一个包含一堆分类变量的数据框 其中一些包含 NA 我使用addNA函数将它们转换为显式因子水平 当我尝试将它们视为 NA 时 我的问题就出现了 它们似乎没有注册 这是我的示例数据集并尝试 查找 NA df1 lt data frame
  • 在android上模拟鼠标输入

    想象一下 我有一个从蓝牙设备接收坐标的服务 现在我想在鼠标光标移动时显示它 我设法使用 toolType TOOL TYPE MOUSE 发送 MotionEvents 但我没有在屏幕上显示本机 Android 鼠标光标 我发送的事件如下所
  • 在应用程序中使用 exoplayer 库播放 YouTube 视频

    我已经使用 exoplayer 库在我的应用程序中播放视频 但我无法使用 exoplayer 播放 youtube 视频链接 我遇到以下异常 ExoPlayerImplInternal 源错误 com google android exop
  • Android Min SDK Version 和 Max SDK Version 设置

    我有一个应用程序 只想安装在 ICS 上 所以我设置了最小和最大 sdk 版本如下
  • 为什么未定义的常量的计算结果为 true?

    愚蠢的问题 我很惊讶这个咬了我 为什么 PHP 中未定义的常量的计算结果为 true 测试用例 上面的示例打印 嗯 非常感谢你的帮助 Try defined WHATEVER THIS ISNT DEFINED 当 PHP 遇到未定义的常量