首頁 > 後端開發 > php教程 > 如何使用括號內的輸入名稱有效地將 HTML 表單輸入檢索為 PHP 中的巢狀數組?

如何使用括號內的輸入名稱有效地將 HTML 表單輸入檢索為 PHP 中的巢狀數組?

Mary-Kate Olsen
發布: 2024-12-05 17:53:15
原創
990 人瀏覽過

How can I effectively retrieve HTML form input as nested arrays in PHP using bracketed input names?

在HTML 和PHP 中將表單輸入為陣列

在HTML 表單中,您可以透過將方括號([]) 合併到輸入名稱屬性中來以數組格式表示輸入欄位。當您有多個相同類型的輸入並希望以結構化方式捕獲它們的值時,這種方法變得特別有用。

問題陳述

考慮以下表單結構:

<form>
    <input type="text" name="levels[level]">
    <input type="text" name="levels[build_time]">

    <input type="text" name="levels[level]">
    <input type="text" name="levels[build_time]">
</form>
登入後複製

目標是在 PHP中以數組形式檢索輸入值,組織為如下:

Array (
  [1] => Array ( [level] => 1 [build_time] => 123 )
  [2] => Array ( [level] => 2 [build_time] => 456 )
)
登入後複製

解決方案

要實現此目的,只需在輸入名稱中添加括號即可:

<input type="text" name="levels[level][]">
<input type="text" name="levels[build_time][]">
登入後複製
登入後複製

此變更允許PHP自動以括號對輸入分組,產生所需的陣列

故障排除

初始輸出問題:

[levels] => Array (
  [0] => Array ( [level] => 1 )
  [1] => Array ( [build_time] => 234 )
  [2] => Array ( [level] => 2 )
  [3] => Array ( [build_time] => 456 )
)
登入後複製

解:確保括號放在末尾輸入名稱屬性的:

<input type="text" name="levels[level][]">
<input type="text" name="levels[build_time][]">
登入後複製
登入後複製

這將建立將level和build_time的陣列分開。

用法範例:

$levels = $_POST['levels'];

echo $levels['level'][0]; // Output: 1
echo $levels['build_time'][0]; // Output: 123
登入後複製

結論

透過在輸入名稱中使用括號,您可以輕鬆建立數組PHP 中的內容反映了HTML 表單的結構。這簡化了資料檢索和處理。

以上是如何使用括號內的輸入名稱有效地將 HTML 表單輸入檢索為 PHP 中的巢狀數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板