建立购物车并希望通过将新商品添加到会话中来将新商品添加到愿望清单但是他们不应该替换现有商品
这是我尝试但是返回错误
[] operator not supported for strings
这是代码:
public function addItem($value, (int)$id){
if(isset($_SESSION[$value])){
$_SESSION[$value][] = array();
array_push($_SESSION[$value],array(
'id'=>$id
));
return true;
}
}
$ value的值是一个字符串
我也跟随This yii link和This link,但仍然遇到同样的错误
通过这样做
public function addItem($value, $id){
if(isset($_SESSION[$value])){
$_SESSION[$value] = array();
array_push($_SESSION[$value],array(
'id'=>$id
));
return true;
}
}
添加项目,但替换以前的任何内容
我需要改变它的工作方式
答案 0 :(得分:1)
尝试在字符串上使用短数组推送语法时出现此错误。 demo here.
<android.support.design.widget.AppBarLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true"
app:elevation="0dp">
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:elevation="0dp" />
</android.support.design.widget.AppBarLayout>
是一个字符串。所以你不能使用像$_SESSION[$value]
因此,当您第一次使用$_SESSION[$value][]= 's'
时,请将其设为数组。不是字符串。然后您可以使用$_SESSION[$value]