PHP:将变量强制转换为 null

发布于 2024-10-13 10:55:04 字数 300 浏览 4 评论 0原文

我刚刚在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

抱猫软卧 2024-10-20 10:55:04

更新:自从 9 年前发布此内容以来,转换为 unset 已经改变了行为并已被弃用。最后定义的行为相当于将变量设置为 NULL。您可以将变量设置为等于 NULL 以保留该变量但指示它没有值,或者您可以调用 取消设置功能将其完全删除。

原始答案

$a = (unset) $a;

参见类型转换

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:

$a = (unset) $a;

See type casting.

找个人就嫁了吧 2024-10-20 10:55:04

使用 (unset) 而不是 (null)。

use (unset) instead of (null).

尸血腥色 2024-10-20 10:55:04

根据 Type 的类型转换部分杂耍手册页,您可以通过...来实现这一点

$varName = (unset)$varName;

According to the Type casting section of the Type Juggling manual page, you can achieve this via...

$varName = (unset)$varName;
半仙 2024-10-20 10:55:04

您可以将变量强制转换为 null,如以下示例所示,但这种行为在 PHP 7.2 中已被弃用,因此即使 PHP 7.1 支持,您也不应该这样做。

$a = "Hello World";
$a = (unset)$a; // Deprecated in PHP 7.2
var_dump($a);   // NULL

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.

$a = "Hello World";
$a = (unset)$a; // Deprecated in PHP 7.2
var_dump($a);   // NULL
初心 2024-10-20 10:55:04

这段代码的意思是,isset会返回false。

$test = "a";
$test = null;
var_dump( isset( $test ));

PHP 中的变量转换是通过为其指定特定值来完成的(例如 $foo = intval( $bar ) 等)。
如果您将 NULL 放入变量中,它将被解释为 NULL (类型 NULL ),如果变量类型为 NULL 则 isset 返回 false

编辑:如果您想完全取消设置变量,请使用

unset( $test );

This piece of code is meant, isset will return false.

$test = "a";
$test = null;
var_dump( isset( $test ));

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

unset( $test );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文