当前位置:  开发笔记 > 编程语言 > 正文

有人能给我一个很好的理由说明为什么php中的断言行为方式呢?

如何解决《有人能给我一个很好的理由说明为什么php中的断言行为方式呢?》经验,为你挑选了1个好方法。

PHP的断言语句与大多数其他语言的行为不同.

assert('return false'); 实际上计算字符串然后断言其结果(false).

它不是将参数与true进行比较,而是通过检查参数的额外步骤,如果是评估它的字符串,则执行比较.

确实非常奇怪.

我的问题不在于理解行为,我的问题是出现这种行为的正当理由,尤其是.因为你现在必须做额外的思维工作......"这会评估成一个字符串吗?"



1> Jakob Stoeck..:

当断言检查关闭时,字符串断言的优点是开销较少,而当断言失败时,包含断言表达式的消息.这意味着如果您将布尔条件作为断言传递,则此条件不会显示为您可能已使用assert_options()函数定义的断言函数的参数,则在调用该处理函数之前将条件转换为字符串,并且boolean FALSE被转换为空字符串.

来自http://www.php.net/manual/en/function.assert.php

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有