亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

array_key_exists() 期望參數 2 為數組,給定 null - Cakephp 3

array_key_exists() 期望參數 2 為數組,給定 null - Cakephp 3

PHP
呼啦一陣風 2023-07-15 17:38:30
我遇到了 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、數量、user_id、product_id。如果有人可以分析某種方法來檢查已安裝數組中的 id,我將不勝感激。
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

當你這樣做時:

$cart[] = $order;

您要求 PHP 將一個新元素添加到數組末尾$cart,并為其提供下一個可用的數字鍵。然后,您嘗試查看產品 ID 是否作為數組中的鍵存在。除非您的產品 ID 類似于 0 和 1,否則這種情況不太可能發生。如果您希望購物車通過產品 ID 進行鍵入,請使用

$cart[$order->product_id] = $order;


查看完整回答
反對 回復 2023-07-15
  • 1 回答
  • 0 關注
  • 251 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號