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

看板PHP作者 (Ian)時間7年前 (2016/07/19 14:01), 編輯推噓3(3021)
留言24則, 6人參與, 最新討論串1/1
在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://www.ptt.cc/bbs/PHP/M.1468908108.A.9F1.html

07/19 14:06, , 1F
$_x = 'x'.$i; $$_x
07/19 14:06, 1F

07/19 14:37, , 2F
j大在請教一下 雖然$_x的變數名稱對了但是$$_x出來
07/19 14:37, 2F

07/19 14:38, , 3F
的值是$_x
07/19 14:38, 3F

07/19 14:39, , 4F
而不是我post進來的值
07/19 14:39, 4F

07/19 14:42, , 5F
為何不可用陣列
07/19 14:42, 5F

07/19 14:50, , 6F
雖然你可用 $i=3; ${"x{$i}"}=23; 這樣
07/19 14:50, 6F

07/19 14:50, , 7F
但為何不用陣列
07/19 14:50, 7F

07/19 14:53, , 8F
搞定了 $x=$_post[$_x] 就拿到值了 謝謝
07/19 14:53, 8F

07/19 14:54, , 9F
原來只是要接字串而已 X(
07/19 14:54, 9F

07/19 14:57, , 10F
對我只是要改變變數名稱 然後拿到對應變數名稱的值
07/19 14:57, 10F

07/19 15:41, , 11F
不對你不是改變數名稱 你改的是$_POST陣列的索引(key)
07/19 15:41, 11F

07/19 15:42, , 12F
你一直在那邊「變數名稱」搞得大家有聽沒懂
07/19 15:42, 12F

07/19 17:08, , 13F
為什麼不post array呢? html那邊用name[]
07/19 17:08, 13F

07/19 17:08, , 14F
只是個建議, 可能你的business logic無法直接用array
07/19 17:08, 14F

07/19 22:06, , 15F
你似乎對$_POST有什麼誤會...
07/19 22:06, 15F

07/20 06:58, , 16F
Post本身就可以是陣列 後端用陣列的接法竟可以了
07/20 06:58, 16F

07/20 07:00, , 17F
前端名稱只要一個就好aaa[] 有5個就 aaa[] 5個
07/20 07:00, 17F

07/20 07:00, , 18F
不用去取5個名稱
07/20 07:00, 18F

07/20 09:30, , 19F
很久以前我也自己在form端生五個name 現在感覺很笨
07/20 09:30, 19F

07/20 16:50, , 20F
我是好幾個頁面資料都存在local storage 最後在一次
07/20 16:50, 20F

07/20 16:51, , 21F
送進資料庫
07/20 16:51, 21F

07/20 16:53, , 22F
所以這樣可以用陣列嘛 抱歉我自學非本科出身
07/20 16:53, 22F

07/20 17:14, , 23F
對了我問題是在php的for 並不是html端到php
07/20 17:14, 23F

07/20 17:14, , 24F
晚點貼上程式碼跟大家討論一下
07/20 17:14, 24F
文章代碼(AID): #1NZS9Cdn (PHP)