溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP中如何處理相同name值的表單數(shù)據(jù)

發(fā)布時間:2021-09-02 10:46:09 來源:億速云 閱讀:218 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“PHP中如何處理相同name值的表單數(shù)據(jù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PHP中如何處理相同name值的表單數(shù)據(jù)”吧!

php提供原始的訪問輸入/輸出流的方法,POST的數(shù)據(jù)可以通過php://input來獲取。

php://input 是個可以訪問請求的原始數(shù)據(jù)的只讀流。 POST 請求的情況下,最好使用 php://input 來代替 $HTTP_RAW_POST_DATA,因為它不依賴于特定的 php.ini 指令。 而且,這樣的情況下 $HTTP_RAW_POST_DATA 默認(rèn)沒有填充, 比激活 always_populate_raw_post_data 潛在需要更少的內(nèi)存。 enctype=”multipart/form-data” 的時候 php://input 是無效的。

php://input 打開的數(shù)據(jù)流只能讀取一次; 數(shù)據(jù)流不支持 seek 操作。 不過,依賴于 SAPI 的實現(xiàn),請求體數(shù)據(jù)被保存的時候, 它可以打開另一個 php://input 數(shù)據(jù)流并重新讀取。 通常情況下,這種情況只是針對 POST 請求,而不是其他請求方式,比如 PUT 或者 PROPFIND。

所以用php獲取相同name值的表單數(shù)據(jù)的思路可以是這樣,1,通過php://input獲取原始的POST數(shù)據(jù); 2,對數(shù)據(jù)進(jìn)行處理合并; 3, 重新把處理過的值賦給系統(tǒng)變量$_POST; 

下面是定義的一個函數(shù):

function GET_SUBMIT(){
 if(empty($_POST)) return $_POST;
 //判斷提交類型
 if($_SERVER["HTTP_CONTENT_TYPE"] != 'application/x-www-form-urlencoded'){
 return $_POST;
 }
 //獲取POST原始值
 $data= file_get_contents("php://input");
 if(empty($data)) return $_POST;
 //開始處理
 $POST=array();
 $list=explode('&',$data);
 foreach($list as $key=>$value){
 //獲取POST的KEY和Value值
 $postname=urldecode(substr($value,0, stripos($value,"=")));
 $postvalue=urldecode(substr($value,(stripos($value,"=")+1)));
 //對KEY值和Value值進(jìn)行處理
 //去空格和[]
 $postname=trim($postname,' ,[,]');
 $postvalue=trim($postvalue);
 if(array_key_exists($postname,$POST)){
  $POST[$postname]=$POST[$postname]." ,".$postvalue;
 }else{
  $POST[$postname]=$postvalue;
 }
 }
 return $POST;
}

接下來只要在需要的地方使用”$_POST=GET_SUBMIT()”, 后面就可以通過$_POST來獲取處理之后各個表單的數(shù)據(jù)。

到此,相信大家對“PHP中如何處理相同name值的表單數(shù)據(jù)”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI