php merge 2 array,1 bidimensional和1 monodimensial

时间:2016-04-15 16:08:44

标签: php arrays

对不起我的英语
我试着用2个数组说我的问题,一个数组是单维的,另一个是二维的 我需要从表单id语言发送,textarea的值...就像这样:

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" } } 

javascript为每种语言创建了新的输入文本,因此如果在数据库中有2个语言,则输入2个输入文本功能和1个值,如果有100个语言,则输入100个输入文本,总是1个值,但我们知道功能可以很多。
功能的第二个维度是这种方式的id语言有(feature [] []):
count array - id language - feature

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

而在val []数组中有:

 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

我如何从2输入,1 bidimensiol和1 monodimensional得到这个结果?

    foreach
      foreach


我尝试(但没有):

foreach
  foreach
    foreach


foreach
  foreach
foreach


foreach
foreach
  foreach


CREATE TABLE dbo.Test(id INT, xml XML, OrderNumber VARCHAR(100));

这一切都是因为它是字段json中的一个插入 谢谢!!

1 个答案:

答案 0 :(得分:2)

您需要在表单中交换[]['<?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  -->

之后,您将拥有2个不同的$_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]
    }
}