php合并了2个数组、1个二维数组和1个一维数组


php merge 2 array, 1 bidimensional and 1 monodimensial

对不起我的英语
我试着用2个数组来说明我的问题,一个数组是一维的,另一个是二维的
我需要从表单id语言发送,文本区域的值。。。像这样:

<input type="text"  name="feature[]['<?php echo $row['idlang']?>']" >
<input type="text" name="val[]">

javascript为每种语言创建一个新的输入文本,所以如果数据库中有2种语言,这会放入2个输入文本功能和1个值,如果有100种语言,则会放入100个输入文本,并且总是1个值。但我们知道,这些功能可能有很多
feature中的第二个维度是id语言,通过这种方式具有(feature[][]):
计数数组-id语言-特征的值

array(6) { 
[0]=> array(1) { [1]=> string(9) "frequenza" } 
[1]=> array(1) { [2]=> string(9) "frequency" } 
[2]=> array(1) { [1]=> string(10) "disco duro" } 
[3]=> array(1) { [2]=> string(9) "hard disk" } 
[4]=> array(1) { [1]=> string(10) "processore" } 
[5]=> array(1) { [2]=> string(9) "processor" } } 

相反,在val[]数组中有:

array(3) { 
[0]=> string(6) "3.2Ghz" 
[1]=> string(5) "500Gb" 
[2]=> string(8) "intel I7" }

如何在php中从2个输入,1个二甘醇和1个一维得到这个结果?

 id language | feature name | feature value
     1       |  frequenza   |    3.2Ghz
     2       |  frequency   |    3.2Ghz
     1       | disco duro   |    500Gb
     2       |  hard disk   |    500Gb
     1       |  processore  |    intel I7
     2       |  processor   |    intel I7


我尝试过(但什么都没有):

    foreach
      foreach


foreach
  foreach
    foreach


foreach
  foreach
foreach


foreach
foreach
  foreach

所有这些都是因为它是json字段中的一个插入
非常感谢。

您需要的是交换表单中的[]['<?php echo $row['idlang']?>']

<input type="text"  name="feature[1][]" >
<input type="text"  name="feature[2][]" >
<input type="text" name="val[]">
<!-- 1 and 2 here are ids of a lang  -->

之后,您将拥有两个不同的$_POST阵列:

  • 一个是val
  • 第二个是feature

你可以迭代它们,比如:

foreach ($_POST['val'] as $k => $v) {
    // check if current val is not empty:
    if (!empty($v)) {
        // get according words from `features` 
        // they will have the same key ($k) under idlang key
        echo $_POST['feature'][1][$k];    // 1 is idlang
        echo $_POST['feature'][2][$k];    // 2 is idlang
        // after that you can do for example:
        // insert into db [1, $_POST['feature'][1][$k], $v]
        // insert into db [2, $_POST['feature'][2][$k], $v]
    }
}