首頁 >後端開發 >php教程 >如何在 PHP 中正確處理類似陣列的表單輸入?

如何在 PHP 中正確處理類似陣列的表單輸入?

Linda Hamilton
Linda Hamilton原創
2024-12-31 21:25:11744瀏覽

How to Properly Handle Array-Like Form Inputs in PHP?

如何將表單輸入數組轉換為PHP 數組

在PHP 表單中,您可能會遇到多個名稱相似的輸入字段的問題,從而創建類似數組的結構。但是,在 PHP 中存取這些值時,您可能會注意到它們作為單一字串輸出。本文解決了這個問題,並提供了一個將輸入數組轉換為可用 PHP 數組的解決方案。

為了示範該問題,請考慮以下 HTML 表單:

<input type="text" name="name[]" />
<input type="text" name="email[]" />

<input type="text" name="name[]" />
<input type="text" name="email[]" />

<input type="text" name="name[]" />
<input type="text" name="email[]" />

當此表單為提交後,對應的 PHP變數將填入陣列:

$name = $_POST['name'];
$email = $_POST['email'];

但是,當您嘗試輸出值時,您會注意到它們顯示為單一字串:

foreach ($name as $v) {
    print $v;
}

foreach ($email as $v) {
    print $v;
}
name1name2name3email1email2email3

要解決此問題,您可以迭代兩個數組並使用輔助函數組合它們對應的值:

foreach ($name as $key => $n) {
    print "The name is " . $n . " and email is " . $email[$key] . ", thank you\n";
}

您可以擴展此模式處理其他輸入欄位:

$location = $_POST['location'];

foreach ($name as $key => $n) {
    print "The name is " . $n . ", email is " . $email[$key] . ", and location is " . $location[$key] . ". Thank you\n";
}

此解決方案可讓您以結構化且可存取的方式存取輸入值,使您能夠執行根據需要進一步處理或操作。

以上是如何在 PHP 中正確處理類似陣列的表單輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn