微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取常量的值并将其保存到数据库中

如何解决如何获取常量的值并将其保存到数据库中

我有一个像这样的常量类

Class MyConstants
{
const TEST = "asd";
const TEST123 = "foo";
const TEST333 = "fooBar";
const TEST321 = "bar";
}

在我的控制器中,我获取所有常量并随机选择 3,问题是我只从常量中获取键,但我需要值

$allConstants = $this->getAllConstants();
$foo = array_rand($allConstants,3);

dd($foo)

 array:3 [
  0 => "TEST321"
  1 => "TES"
  2 => "TEST123"
 ]

我怎样才能获得常量的值,例如 foobar ?

然后我还需要将它们保存到数据库中。我应该遍历它们吗?

$fooBarEntity->setData($foo);

感谢您的帮助。

解决方法

array_flip 交换所有键与数组中的关联值。 试试这个:

Class MyConstants
{
    const TEST = "asd";
    const TEST123 = "foo";
    const TEST333 = "fooBar";
    const TEST321 = "bar";
}

$reflection = new ReflectionClass(MyConstants::class);
$values = $reflection->getConstants();
$data = array_rand(array_flip($values),3);
foreach($data as $item) {
    #$fooBarEntity->setData($item);
}
print_r($data);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。