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

看板PHP作者 (銀色)時間11年前 (2013/03/23 23:20), 編輯推噓4(404)
留言8則, 4人參與, 最新討論串4/4 (看更多)
※ 引述《kerash (K.T)》之銘言: : → aatty:那$book_no_array=explode(",",$COOKIE["book_no_list"]); 03/23 20:17 : → aatty:=等號左邊可以寫成$book_no_array[]嗎?@@ 03/23 20:18 : → kerash:不能說不行,但是你要了解這樣設定變數會變成甚麼結果 03/23 20:19 : 推 aatty:意思不一樣嗎?QQ 我有點混亂了 03/23 20:23 : 推 aatty:兩個不都是陣列嗎? 03/23 20:32 : : 這應該是你對變數觀念的問題 : 先知道等號左邊與等號右邊各代表的意義 : 左邊可以當成是一個「容器(變數)」,右邊則是要放入的東西 : 等號的意思就是把右邊的內容方進左邊的容器裡 : 那php的變數,在未指定時通常都很彈性 : $a = 1; // 這時 $a 屬性是數字 : $a = "1"; // $a 屬性是字串 : $a = array('a','b'); // $a 屬性是陣列 : 因此可以知道負責當容器的變數是很有彈性的, : 他會改變自己的屬性變成你給他的樣子 k 大講的差不多了,小弟稍微補充一點, 其實左側的變數(或著說容器)在賦值之後, 會標注起來自己身上攜帶的是哪一種變量(integer / string / array …) 這部份有興趣可以看 Laruence 大神的這篇文章, http://www.laruence.com/2008/08/22/412.html 其中有解釋在 ZE(Zend Engine,http://en.wikipedia.org/wiki/Zend_Engine, 也就是 PHP 的引擎)裡是如何處理的(in c language) : 接著看右邊的部分, : 以你的 explode 來看,是 Returns an array of strings, ... : 也就是說,你是要將一個陣列丟入你所指定的容器裡面 : 既然 $a 的型態會自動改變的, : 那當你要將陣列丟進去後,左邊的 $a 自然會自己轉型 : 而不用你自己去把 $a 當成陣列 : 但是你這樣的寫法也不會有錯,因為 $a 很彈性的原因 : 因此當你使用 $a[] 時, : $a 被自動轉換成陣列並分配區域給你存放右邊的東西 $a[] 這種其實是既存 array 的特殊操作, 在 $a 如果尚未賦值,或是陣列時才可以這樣用, 如果 $a 已經被賦值為其他型態,你會收到這樣的警告 Warning: Cannot use a scalar value as an array 並且被拒絕賦值(我的環境是 PHP 5.4.12,不確定之前的版本會不會 reject) 此部份可以參考 http://php.net/manual/en/language.types.array.php 其中有一段 Creating/modifying with square bracket syntax : 以結果來看他沒有錯,只是不是你的需求 : 直接說兩者的結果差別如下 : $a = explode(",","a,b"); : => $a = array ( : 'a' , : 'b' : ); : $a[] = explode(",","a,b"); : => $a = array ( : array ( : 'a' , : 'b' : ) : ); : 以上 : 說得太多太複雜了~"~ 如果有錯請各位大大幫忙勘正 感謝 k 大的熱心說明(拋磚引玉什麼的絕對是個誤會…囧) orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.175.40.79

03/23 23:34, , 1F
我看完了 謝謝你~~
03/23 23:34, 1F

03/23 23:48, , 2F
謝謝gpmm大補充,我中間那邊沒明確說到為賦值狀態的差異~
03/23 23:48, 2F

03/23 23:49, , 3F
03/23 23:49, 3F

03/24 00:07, , 4F
是說各位的英文都這麼好嘛...?QQ
03/24 00:07, 4F

03/24 00:10, , 5F
自己用拋磚引玉是自謙,所以... XD
03/24 00:10, 5F

03/24 00:29, , 6F
以板主立場說拋磚引玉沒關係啦XD 這篇確實有補充了
03/24 00:29, 6F

03/24 01:00, , 7F
…啊,x … 我好像自己恭維自己了一下…要死
03/24 01:00, 7F
※ 編輯: gpmm 來自: 1.175.40.79 (03/24 01:01)

03/24 14:05, , 8F
原來是版主XD
03/24 14:05, 8F
文章代碼(AID): #1HJSWXaA (PHP)
討論串 (同標題文章)
文章代碼(AID): #1HJSWXaA (PHP)