[請益] 在變數名稱後面加一個變數成為一個新變數

作者: answermangtr (你今天抓了嘛)   2016-07-19 14:01:46
在php裡面 已把前端資料post進後端
在處理資料時 因為進來的資料數量不一定但有編碼
範例:$x1=1; $x2=2; $x3=3; $key=3;
用一for迴圈要將資料存進資料庫
for($i=1,$i<=$key,i++){}
這時要把x1 x2 x3放進去的變數名稱語法一直搞不定
(因為不能直接把變數放進去 而是要$x+$i=$x1的語法)
作者: jhunkyoiori (瓦爾加布)   2016-07-19 14:06:00
$_x = 'x'.$i; $$_x
作者: answermangtr (你今天抓了嘛)   2016-07-19 14:37:00
j大在請教一下 雖然$_x的變數名稱對了但是$$_x出來的值是$_x而不是我post進來的值
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-07-19 14:42:00
為何不可用陣列雖然你可用 $i=3; ${"x{$i}"}=23; 這樣但為何不用陣列
作者: answermangtr (你今天抓了嘛)   2016-07-19 14:53:00
搞定了 $x=$_post[$_x] 就拿到值了 謝謝
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-07-19 14:54:00
原來只是要接字串而已 X(
作者: answermangtr (你今天抓了嘛)   2016-07-19 14:57:00
對我只是要改變變數名稱 然後拿到對應變數名稱的值
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-07-19 15:41:00
不對你不是改變數名稱 你改的是$_POST陣列的索引(key)你一直在那邊「變數名稱」搞得大家有聽沒懂
作者: ej04cj86 (Swaglicious)   2016-07-19 17:08:00
為什麼不post array呢? html那邊用name[]只是個建議, 可能你的business logic無法直接用array
作者: roycsw (洛伊or阿葉)   2016-07-19 22:06:00
你似乎對$_POST有什麼誤會...
作者: et69523820 (小豬)   2016-07-20 06:58:00
Post本身就可以是陣列 後端用陣列的接法竟可以了前端名稱只要一個就好aaa[] 有5個就 aaa[] 5個不用去取5個名稱
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-07-20 09:30:00
很久以前我也自己在form端生五個name 現在感覺很笨
作者: answermangtr (你今天抓了嘛)   2016-07-20 16:50:00
我是好幾個頁面資料都存在local storage 最後在一次送進資料庫所以這樣可以用陣列嘛 抱歉我自學非本科出身對了我問題是在php的for 並不是html端到php晚點貼上程式碼跟大家討論一下

Links booklink

Contact Us: admin [ a t ] ucptt.com