Re: [請益] 關於購物車的cookie問題 (新手第一次發文
→
03/23 20:17,
03/23 20:17
→
03/23 20:18,
03/23 20:18
→
03/23 20:19,
03/23 20:19
推
03/23 20:23,
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
討論串 (同標題文章)