PHP:将变量强制转换为 null
我刚刚在 PHP 手册中偶然发现了一个对我来说是新的东西......
将变量强制转换为 null 将删除该变量并取消设置其值。 (来源)
现在我想知道如何做到这一点..我尝试了 (null) 和 (NULL) 但它似乎被解释为值 null,而不是类型 null。 我知道这个问题听起来一定很荒谬,但是有人知道如何强制转换为空吗?
I just stumbled upon a thing in the PHP manual that is new to me...
Casting a variable to null will remove the variable and unset its value. (Source)
Now I wonder how this can be done... I tried (null) and (NULL) but it seems to be interpreted as the value null, not the type null.
I know this question must sound ridiculous, but does somebody know how to cast to null?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
更新:自从 9 年前发布此内容以来,转换为 unset 已经改变了行为并已被弃用。最后定义的行为相当于将变量设置为 NULL。您可以将变量设置为等于 NULL 以保留该变量但指示它没有值,或者您可以调用 取消设置功能将其完全删除。
原始答案:
参见类型转换。
Update: Since posting this 9 years ago, casting to unset has changed behavior and is deprecated. The last defined behavior was equivalent to setting the variable equal to NULL. You can either set the variable equal to NULL to retain the variable but indicate it has no value, or you can call the unset function to remove it entirely.
Original Answer:
See type casting.
使用 (unset) 而不是 (null)。
use (unset) instead of (null).
根据 Type 的类型转换部分杂耍手册页,您可以通过...来实现这一点
According to the Type casting section of the Type Juggling manual page, you can achieve this via...
您可以将变量强制转换为 null,如以下示例所示,但这种行为在 PHP 7.2 中已被弃用,因此即使 PHP 7.1 支持,您也不应该这样做。
You can cast a variable to null, as in the following example, but this behavior is deprecated in PHP 7.2 so you shouldn’t do it even though PHP 7.1 supports it.
这段代码的意思是,isset会返回false。
PHP 中的变量转换是通过为其指定特定值来完成的(例如 $foo = intval( $bar ) 等)。
如果您将 NULL 放入变量中,它将被解释为 NULL (类型 NULL ),如果变量类型为 NULL 则 isset 返回 false
编辑:如果您想完全取消设置变量,请使用
This piece of code is meant, isset will return false.
Casting variables in PHP is done by assigning it specific value ( eg $foo = intval( $bar ) etc. ).
If you put NULL into variable it will be interpreted as NULL ( type NULL ), isset return false if variable is type NULL
Edit: if you want to completly unset variable use