求助:php怎樣通過匹配表單名的部分字串來擷取相應表單的值?

來源:互聯網
上載者:User
問題可能聽著有點繞。
就是我的表單頁面個表單個數是不定的,因為有增加表單的按鈕,使用者可以通過按這個按鈕來增加表單個數,而表單的名字我是把它做了一個 ”首碼+遞增數字“ 的形式, 比如 ”array_1“, "array_2", 但是具體多少個是不定的,因為要看使用者增加了多少個表單,所以,我現在要把所有的帶 array_ 首碼的所有表單的值,放到一個數組裡面,怎麼實現呢? 關鍵問題是不表單的個數是未定的。

新手學習,不知道把問題描述清楚了沒,先謝過了


回複討論(解決方案)

是增加表單 還是增加表單元素

你一個頁面內有N個表單?

如果確實是有多個表單,我目前是用jquery動態地擷取所有的表單值,然後將其傳入後台

var postData="";$.each($("from"),function(i, n){    postData += $(n).serialize();});//通過ajax傳到後台.

本帖最後由 xuzuning 於 2013-12-28 16:32:56 編輯

不存在多個表單,只存在多個表單變數

foreach(preg_grep('/array_/', array_keys($_POST)) as $k) {  res[$k] = $_POST[$k];}

$res 就是你需要的結果

其實你不是命名為 array_數字,而是命名為 array[] 就不需要那麼麻煩了

不存在多個表單,只存在多個表單變數

foreach(preg_grep('/array_/', array_keys($_POST)) as $k) {  res[$k] = $_POST[$k];}

$res 就是你需要的結果

其實你不是命名為 array_數字,而是命名為 array[] 就不需要那麼麻煩了

感謝,如果命名是array[]的話怎麼做?

是增加表單 還是增加表單元素

你一個頁面內有N個表單?

如果確實是有多個表單,我目前是用jquery動態地擷取所有的表單值,然後將其傳入後台

var postData="";$.each($("from"),function(i, n){    postData += $(n).serialize();});//通過ajax傳到後台.

感謝,我說得有問題,是多個表單元素,就是多個input標籤,不是多個表單

多個表單input標籤,通過name屬性區分變數即可。

將同一組元素的name定義成數組即可,如下:


.........

php 接收就是
print_r($_POST['array']);

將同一組元素的name定義成數組即可,如下:


.........

php 接收就是
print_r($_POST['array']);

原來可以這樣,這樣方便,受教受教,多謝了!




print_r($_POST['array']['a1']);
print_r($_POST['array']['a2']);

這樣才可以區分input值

不存在多個表單,只存在多個表單變數

foreach(preg_grep('/array_/', array_keys($_POST)) as $k) {  res[$k] = $_POST[$k];}

$res 就是你需要的結果

其實你不是命名為 array_數字,而是命名為 array[] 就不需要那麼麻煩了
jordan102 版主大大回答了我這個問題,還是萬分感謝
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.