array_key_exists() 期望参数 2 为数组,给定为空 - Cakephp 3
array_key_exists() expects parameter 2 to be array, null given - Cakephp 3
朋友们,我很感激任何评论。
我在使用 array_key_exists 时遇到问题。
我需要检查购物车中是否已存在产品。
我是这样做的:
.
$session = $this->request->getSession();
$cart = $session->read( 'cart' );
if (array_key_exists($order->product_id, (array) $cart)) {
$this->Flash->error('Invalid request');
} else {
$cart[] = $order;
$session->write('cart', $cart );
$this->Flash->success($order->product->name_product . ' has been added to the shopping cart');
return $this->redirect( ['action' => 'index'] );
}
return $this->redirect($this->referer());
} else {
return $this->redirect(['action' => 'index']);
}
.
.
我收到以下错误,但现在更新后它不再存在。但是这个功能还是帮不了我。
array_key_exists() expects parameter 2 to be array, int given
该产品已添加到购物车,即使它已被添加。
我需要将所选产品 ID 与购物车中已有的产品 ID 进行比较。订单信息基本是:id, quantity, user_id, product_id.
如果有人能分析出一些方法来检查挂载的数组中的id,我将不胜感激。
当你这样做时:
$cart[] = $order;
您要求 PHP 在 $cart
数组的末尾添加一个新元素,为其提供下一个可用的数字键。然后您试图查看产品 ID 是否作为数组中的键存在。除非您的产品 ID 类似于 0 和 1,否则这不太可能发生。如果您希望您的购物车按产品 ID 键控,请使用
$cart[$order->product_id] = $order;
朋友们,我很感激任何评论。
我在使用 array_key_exists 时遇到问题。 我需要检查购物车中是否已存在产品。 我是这样做的:
.
$session = $this->request->getSession();
$cart = $session->read( 'cart' );
if (array_key_exists($order->product_id, (array) $cart)) {
$this->Flash->error('Invalid request');
} else {
$cart[] = $order;
$session->write('cart', $cart );
$this->Flash->success($order->product->name_product . ' has been added to the shopping cart');
return $this->redirect( ['action' => 'index'] );
}
return $this->redirect($this->referer());
} else {
return $this->redirect(['action' => 'index']);
}
.
.
我收到以下错误,但现在更新后它不再存在。但是这个功能还是帮不了我。
array_key_exists() expects parameter 2 to be array, int given
该产品已添加到购物车,即使它已被添加。 我需要将所选产品 ID 与购物车中已有的产品 ID 进行比较。订单信息基本是:id, quantity, user_id, product_id.
如果有人能分析出一些方法来检查挂载的数组中的id,我将不胜感激。
当你这样做时:
$cart[] = $order;
您要求 PHP 在 $cart
数组的末尾添加一个新元素,为其提供下一个可用的数字键。然后您试图查看产品 ID 是否作为数组中的键存在。除非您的产品 ID 类似于 0 和 1,否则这不太可能发生。如果您希望您的购物车按产品 ID 键控,请使用
$cart[$order->product_id] = $order;