OK Я боролся с этим на некоторое время, и я решил, что вернусь к основам и попытаюсь выяснить свою ошибку, так как я получаю ту же ошибку здесь, что и я.ArrayAppend возвращает boolean вместо массива
Вот мой код:
<cfparam name="session.cart" default="arrayNew(1)">
<cfset session.cart = arrayAppend(session.cart,structNew())>
<cfset thisCartItem = arraylen(session.cart)>
<cfset session.cart[thisCartItem].itemID = "X">
<cfset session.cart[thisCartItem].quantity = "X">
<cfset session.cart[thisCartItem].itemName = "X">
<cfdump var="#session.cart#">
Вот моя ошибка:
Object of type class java.lang.Boolean cannot be used as an array
ошибка означает именно то, что он говорит :) 'session.cart' не является массивом , 'arrayAppend' возвращает логическое значение, * не * объект массива. – Leigh
Как я могу настроить массив, отличный от того, как у меня есть? –
См. Мой ответ ниже. Также обратите внимание на комментарии об использовании знаков фунта в 'cfparam'. Без них код не создает массив. Он просто устанавливает, что переменная равна буквальным символам «arrayNew (1)». – Leigh