PHP数组将两个或多个值组合在一起

时间:2010-12-30 04:25:38

标签: php arrays datamapper dynamic-arrays

我很好奇知道是否以及如何将数组的两个值组合在一起而不是覆盖另一个。我会告诉你一个例子:

我有一个表单,它将字段从CSV文件映射到数据库。我遇到的问题是,例如,有两个地址字段需要合并到我的数据库中的1个地址字段中。 (IE:下面的照片)

alt text

所以当我查看$ _POST []数组时,我的问题就来了。它将显示已选择2个HOME ADDRESSES并使用最后选择的家庭地址导入到我的数据库中。

如何将信息合并到1.我希望这能为您提供有关我的问题的足够信息,如果您需要具体的信息,请告诉我。

我正在处理所有数组,当我发布到我的数据库时,它需要一个Array循环,因为我使用了一个反射类。我希望这是有道理的......

任何亮点都会受到赞赏。 欢呼声,

我很欣赏回复的评论,我对你的回答的问题是我无法创建我的输入作为地址[],因为这将是动态的,我不知道哪一个将设置为地址也许会被设置为“电话”...我希望这张新图片有助于理解。

部分代码(缩短):

<select name="Home_Address_1"> // name is dynamically generated from the CSV headings
  <option>...</option>
</select>
<select name="Home_Address_2"> // name is dynamically generated from the CSV headings
  <option>...</option>
</select>

3 个答案:

答案 0 :(得分:2)

在单个数组中使用两个已发布值的示例:

<!-- HTML -->
<input name="address[]" type="text" value="111" />
<input name="address[]" type="text" value="222" />

注意名称属性。

// PHP
$address = $_POST['address'][0] . ' ' . $_POST['address'][1];

echo $address; // prints "111 222"

更新

在脚本循环遍历$_POST数组之前,请合并字段,如下所示:

$preformat  = $_POST['Home_Address_1'];
$preformat .= ' ' . $_POST['Home_Address_2'];
$preformat .= ' ' . $_POST['Home_Address_3'];
$_POST['Home_Address_3'] = trim($preformat);

然后最后一个Home Address字段包含全部三个。

答案 1 :(得分:0)

尝试array_merge()... http://php.net/manual/en/function.array-merge.php

答案 2 :(得分:0)

使用shuffle尝试array_merge

$merged = array_merge($arr1,$arr2);
shuffle($merged);

关于

<强> Wazzy