作者answermangtr (Ian)
看板PHP
標題[請益] 在變數名稱後面加一個變數成為一個新變數
時間Tue Jul 19 14:01:46 2016
在php裡面 已把前端資料post進後端
在處理資料時 因為進來的資料數量不一定但有編碼
範例:$x1=1; $x2=2; $x3=3; $key=3;
用一for迴圈要將資料存進資料庫
for($i=1,$i<=$key,i++){}
這時要把x1 x2 x3放進去的變數名稱語法一直搞不定
(因為不能直接把變數放進去 而是要$x+$i=$x1的語法)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.17.81
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1468908108.A.9F1.html
1F:→ jhunkyoiori: $_x = 'x'.$i; $$_x 07/19 14:06
2F:→ answermangtr: j大在請教一下 雖然$_x的變數名稱對了但是$$_x出來 07/19 14:37
3F:→ answermangtr: 的值是$_x 07/19 14:38
4F:→ answermangtr: 而不是我post進來的值 07/19 14:39
5F:→ MOONRAKER: 為何不可用陣列 07/19 14:42
6F:→ MOONRAKER: 雖然你可用 $i=3; ${"x{$i}"}=23; 這樣 07/19 14:50
7F:→ MOONRAKER: 但為何不用陣列 07/19 14:50
8F:→ answermangtr: 搞定了 $x=$_post[$_x] 就拿到值了 謝謝 07/19 14:53
9F:→ MOONRAKER: 原來只是要接字串而已 X( 07/19 14:54
10F:→ answermangtr: 對我只是要改變變數名稱 然後拿到對應變數名稱的值 07/19 14:57
11F:→ MOONRAKER: 不對你不是改變數名稱 你改的是$_POST陣列的索引(key) 07/19 15:41
12F:→ MOONRAKER: 你一直在那邊「變數名稱」搞得大家有聽沒懂 07/19 15:42
13F:推 ej04cj86: 為什麼不post array呢? html那邊用name[] 07/19 17:08
14F:→ ej04cj86: 只是個建議, 可能你的business logic無法直接用array 07/19 17:08
15F:推 roycsw: 你似乎對$_POST有什麼誤會... 07/19 22:06
16F:推 et69523820: Post本身就可以是陣列 後端用陣列的接法竟可以了 07/20 06:58
17F:→ et69523820: 前端名稱只要一個就好aaa[] 有5個就 aaa[] 5個 07/20 07:00
18F:→ et69523820: 不用去取5個名稱 07/20 07:00
19F:→ MOONRAKER: 很久以前我也自己在form端生五個name 現在感覺很笨 07/20 09:30
20F:→ answermangtr: 我是好幾個頁面資料都存在local storage 最後在一次 07/20 16:50
21F:→ answermangtr: 送進資料庫 07/20 16:51
22F:→ answermangtr: 所以這樣可以用陣列嘛 抱歉我自學非本科出身 07/20 16:53
23F:→ answermangtr: 對了我問題是在php的for 並不是html端到php 07/20 17:14
24F:→ answermangtr: 晚點貼上程式碼跟大家討論一下 07/20 17:14