【发布时间】:2020-06-05 10:45:27
【问题描述】:
在 PHP (Laravel) 中,有没有一种简单的方法可以将字符串(已经像数组一样格式化)转换为数组类型?
示例:
$string = "['user_id' => 123, 'merchant_id' => 456]"
我想做这样的事情:$userId = ((array) $string)['user_id'];
我当然可以解析这个字符串并以这种方式获取值,但我想知道是否有更优雅的方式(或者是否已经存在一个函数)。
【问题讨论】:
-
php.net/eval - 但要注意:这里是龙。
-
@charliekelly 你从哪里得到字符串?
-
@TorbjörnStabo 从外部提供商那里,我收到了这种格式的数据。
-
从外部提供者那里接收这样的输出确实是错误的(在他们这边)。这就是我们为 API 提供 JSON 或 XML 输出的原因。
-
+1 在上面,这可能是非常不安全的。你可能想看看runkit_sandbox()