我一直未能找到任何特定于此问题的东西。在我的课堂上,我需要一个关联数组,并将其值放入类变量中。任何子数组都需要转换为对象。转换为对象发生在以下代码中:PHP:反射,“遇到的格式不正确的数值”设置数组索引
foreach ($value as $key2 => $value2) {
$object = new $object_str($value2);
$this->$key[$object->getId()] = $object;
}
$ value来自外部foreach循环。
$ object_str包含有要创建的对象的名称,
这样的:MartKuper \ OnePageCRM \联系人\ ContactsUrl
输入数组看起来是这样的:
[
'url' => [
'type' => 'website',
'value' => 'google.com'
]
]
应该创建一个ContactsUrl对象,并根据类的内部随机ID(uniqid())将它添加到$ url类变量(也是一个数组)。因为我不知道输入数组有多少'url'条目,所有这些都需要动态发生。因此,
$this->$key[$object->getId()]
错误发生在$ key(url)数组的索引上。它似乎不喜欢将字符串作为索引。我试过把硬编码的字符串放在
$this->$key['test]
那也不管用。当我把一个整数在
$this->$key[1]
它的工作。将字符串转换为整数不是一个选项。它会破坏许多其他类使用的解析器类。