在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中文網其他相關文章!