PHP Array, объединяющий 2 или более значений вместе - PullRequest
2 голосов
/ 30 декабря 2010

Мне любопытно знать, можно ли и как объединить 2 значения массива вместо переопределения другого.Я покажу вам пример:

У меня есть форма, которая отображает поля в базу данных из файла CSV.Проблема, с которой я сталкиваюсь, заключается в том, что, например, в моей базе данных есть 2 поля адреса, которые необходимо объединить в одно поле адреса.(IE: фото ниже)

alt text

Так что моя проблема возникает, когда я смотрю на массив $ _POST [].Он покажет, что выбрано 2 ДОМАШИХ АДРЕСА и импортирован в мою базу данных с ПОСЛЕДНИМ выбранным домашним адресом.

Как я могу объединить информацию в 1. Надеюсь, это даст вам достаточно информации о моей проблеме, пожалуйста, дайте мне знать, если вам нужно что-то конкретное.

Я имею дело со всеми массивами, и когда я публикую в свою базу данных, для прохождения цикла требуется массив, так как я использую класс отражения.Я надеюсь, что это имеет смысл ...

Любой свет будет оценен по этому вопросу.Приветствия,

Я ценю достаточно комментариев в ответ, проблема, с которой я сталкиваюсь с вашими ответами, состоит в том, что я не могу создать свои входные данные для адреса [], поскольку они будут динамическими, и я не буду знать, какойбудет установлен адрес и который, возможно, будет установлен на «телефон» ... Я надеюсь, что эта новая картина немного помогает в понимании.

Часть кода (укорочена):

<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 ]

2 голосов
/ 30 декабря 2010

Пример использования двух объявленных значений в одном массиве:

<!-- 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);

Затемпоследнее поле домашнего адреса содержит все три.

0 голосов
/ 30 декабря 2010

Попробуйте array_merge с shuffle

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

с уважением

Wazzy

0 голосов
/ 30 декабря 2010

Попробуйте array_merge () ... http://php.net/manual/en/function.array-merge.php

...