https://www.php.net/manual/en/class.weakmap.php

那埃努姆斯呢?

你能做到的

enum MyEnum{
case A;
}
$wm = new WeakMap();
$wm[MyEnum::A] = 'something';

什么时候?

$wm[MyEnum::A]人变得隐形?还是无法接近?如果永远都不会呢?

我说的不是$wm个.假设$wm总是在那里.

推荐答案

Php中的enum只是一个带有几个常量的(特殊)类,这一点很容易验证:

enum MyEnum { case A; }

// enum(MyEnum::A)
// string(6) "object"
var_dump(  
    (new ReflectionClass(MyEnum::class))->getConstant('A'),
    gettype(MyEnum::A));

因为没有人可以取消设置常量或更改它的值,所以至少有一个对枚举对象的引用,所以WeakMap中的条目将一直保留,直到有人手动取消它.

Php相关问答推荐

Laravel集合块()方法

根据在WooCommerce购物车和 checkout 中 Select 的送货方式显示快捷代码内容

无法在Laravel/Vue停靠容器中启动MySQL

在Laravel中为表添加前缀,以将它们逻辑地分组

将客户重定向到自定义感谢页后的空白页

Symfony5:如何在不登录的情况下使API路由可访问?

我的邮箱中的链接在我的URL中添加了一个

为什么只有最后一次点击的点赞/心形会按预期改变 colored颜色 ,而其他的保持正常 colored颜色 ?

使用与OpenSSL命令行兼容的AES-256-CTR为大型文件创建php代码OpenSSL加密

PHP -将字符串拆分为两个相等的部分,但第二个字符串中的单词更多

如何使用barryvdh/laravel-Snappy在两个打印页面上将表格分成两部分?

按日期向 WooCommerce 中的我的帐户订单添加过滤器

如何在 php 中获取正确的时间

如何通过工厂为点列制作一个假坐标?

ACF 更新字段功能不更新 WordPress 中的任何数据

仅允许减少 WooCommerce 中已完成订单的库存数量

Laravel 测试 assertJsonMissing 不适用于唯一的键.为什么?

Laravel Factory - 在单列中生成具有随机迭代量的假 json 数组数据

如何在 Laravel 9 中判断异常是否可报告?

路由未定义的 laravel 导出