首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 獲取 $_POST 同名參數數組的正確姿勢

     編輯:PHP 相關知識

表單中多個同名輸入框(如 checkbox 群組)提交時,若直接用 $_POST['arr'] 只能取到最後一個值。正確做法是在 HTML name 屬性後加 [],PHP 會自動解析為數組。

錯誤示範

<input type="checkbox" name="arr" value="1" />
<input type="checkbox" name="arr" value="2" />
<input type="checkbox" name="arr" value="3" />
<input type="checkbox" name="arr" value="4" />

$_POST['arr'] 僅返回最后选中的单个值(如 "4")。

正確寫法

<input type="checkbox" name="arr[]" value="1" />
<input type="checkbox" name="arr[]" value="2" />
<input type="checkbox" name="arr[]" value="3" />
<input type="checkbox" name="arr[]" value="4" />

此時 $_POST['arr'] 將是一個數組:['1', '2', '3', '4'](僅包含被勾選的值)。

同樣適用於

  • <select multiple name="items[]">
  • 同名 input[type=text] 批量輸入
  • JavaScript 動態生成的同名表單字段

後端處理示例

<?php
if (!empty($_POST['arr']) && is_array($_POST['arr'])) {
    $selected = array_map('intval', $_POST['arr']); // 安全過濾
    // 入庫、查詢、業務邏輯...
    echo "選中了 " . count($selected) . " 項:" . implode(', ', $selected);
}
?>

核心記住一點:HTML name 屬性加 [],PHP 自動識別為數組。這是 PHP 解析表單數據的內置約定,無需額外代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved