解析由 html 表单发布的 php 中的数组

Posted

技术标签:

【中文标题】解析由 html 表单发布的 php 中的数组【英文标题】:Parse an array in php posted by an html form 【发布时间】:2014-04-02 17:25:27 【问题描述】:

我有以下问题。 我的表单中有这些类型的选择:

<select name="variation[8][]" multiple>
   <option value="1">s</option>
   <option value="2">m</option>
   <option value="3">l</option>
</select>

<select name="variation[9][]" multiple>
   <option value="8">red</option>
   <option value="9">blue</option>
   <option value="10">black</option>
</select> 

我想用 php 正确读取发布的数组,我想把它写到数据库中:

variation_id => 8 
variation_term => 1 
variation_id => 8 
variation_term => 2 
variation_id => 8 
variation_term => 3 

variation_id => 9 
variation_term => 8 
variation_id => 9 
variation_term => 9 
variation_id => 9 
variation_term => 10

如何解析发布的这个数组? 有更好的方法吗?

TNX

我找到了这个解决方案:

foreach ($_POST['variation'] as $key => $value) 
   for($i=0; $i<count($value); $i++)
     echo "varitaion name = $key"."<br>";
     echo "value = $value[$i]";
   

【问题讨论】:

你想从 POST 数组中获取值吗? 是但没有一个简单的帖子数组 name="variable[]" 但来自 name="variable[8][]" 因为我需要知道该选择的值和选择变量[NAME] .所以在我的数据库中我会写下变量的名称 => 8 Example。变体=>8 值=>1 变体=>8 值=>2 如果我有另一个 SELECT 变体=>9 值=>10 变体 =>8 值=>15 【参考方案1】:

试试

foreach($_POST['variation'] as $key=>$val)
  if(is_array($val))
     echo " Values for $key Are:"; // get your variation index eg:8,9 etc
     foreach($val as $key1=>$val1)
         echo $val1.","; // get the index values
     
         echo "<br/>";
  

【讨论】:

完美运行!我做了一个类似的解决方案,我已经编辑了我的问题!非常感谢!

以上是关于解析由 html 表单发布的 php 中的数组的主要内容,如果未能解决你的问题,请参考以下文章

如何从android中的php关联数组解析JSON响应?

使用 file_get_contents 将 html 表解析为 php 数组

PHP解析PHP中的数组

将 swift 数组解析为有效的 json

HTML 输入数组

PHP中的-;,=;,::,$this-;解析