CFML - 数组和范围 - 类型类 Coldfusion.runtime.Struct 的对象不能用作数组

问题描述

我想为数组变量名使用作用域。

这个例子有效。

<cfset person_first_name[1] = "John">
<cfset person_first_name[2] = "Jack">
<cfset x = ArrayLen(person_first_name)>

但是,此代码出现以下错误:“类coldfusion.runtime.Struct 类型的对象不能用作数组”

<cfset person.first_name[1] = "John">
<cfset person.first_name[2] = "Jack">
<cfset x = ArrayLen(person.first_name)>

难道不能这样命名变量吗?

解决方法

为数组添加声明解决了问题。谢谢@SOS。

<cfset person.first_name = []>