Re: [請益] 關於購物車的cookie問題 (新手第一次發文

看板PHP作者 (K.T)時間11年前 (2013/03/23 22:20), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)

03/23 20:17,
那$book_no_array=explode(",",$COOKIE["book_no_list"]);
03/23 20:17

03/23 20:18,
=等號左邊可以寫成$book_no_array[]嗎?@@
03/23 20:18

03/23 20:19,
不能說不行,但是你要了解這樣設定變數會變成甚麼結果
03/23 20:19

03/23 20:23,
意思不一樣嗎?QQ 我有點混亂了
03/23 20:23

03/23 20:32,
兩個不都是陣列嗎?
03/23 20:32
這應該是你對變數觀念的問題 先知道等號左邊與等號右邊各代表的意義 左邊可以當成是一個「容器(變數)」,右邊則是要放入的東西 等號的意思就是把右邊的內容方進左邊的容器裡 那php的變數,在未指定時通常都很彈性 $a = 1; // 這時 $a 屬性是數字 $a = "1"; // $a 屬性是字串 $a = array('a','b'); // $a 屬性是陣列 因此可以知道負責當容器的變數是很有彈性的, 他會改變自己的屬性變成你給他的樣子 接著看右邊的部分, 以你的 explode 來看,是 Returns an array of strings, ... 也就是說,你是要將一個陣列丟入你所指定的容器裡面 既然 $a 的型態會自動改變的, 那當你要將陣列丟進去後,左邊的 $a 自然會自己轉型 而不用你自己去把 $a 當成陣列 但是你這樣的寫法也不會有錯,因為 $a 很彈性的原因 因此當你使用 $a[] 時, $a 被自動轉換成陣列並分配區域給你存放右邊的東西 以結果來看他沒有錯,只是不是你的需求 直接說兩者的結果差別如下 $a = explode(",","a,b"); => $a = array ( 'a' , 'b' ); $a[] = explode(",","a,b"); => $a = array ( array ( 'a' , 'b' ) ); 以上 說得太多太複雜了~"~ 如果有錯請各位大大幫忙勘正 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.186.193

03/23 23:33, , 1F
恍然大悟 謝謝你>_<
03/23 23:33, 1F
文章代碼(AID): #1HJReePl (PHP)
討論串 (同標題文章)
文章代碼(AID): #1HJReePl (PHP)