2015-09-06 3 views
1

У меня есть два массива имен, которые входят в мою PHP-страницу из HTML-формы под именем переменных POST (фамилия) и «a_name» (имя). Она использует следующий синтаксис:Объедините два массива PHP через запятую

<?php 
$array = (array_filter($_POST['name'])); 

foreach ($array as $name) { 
echo '<br>'; 
echo $name; 
echo "<br>"; 
} 
?> 

Это приводит к фамилиям определяется как $ имя в коде, а затем повторить запрос для каждого отдельного имени. (например, Смит)

Тем не менее, я также пытаюсь напечатать первое имя, запятую, разделенные как одна переменная. (Например, «Смит, Роберт») Я попробовал это, как это, и это, кажется, сломать код:

<?php 
$array1 = (array_filter($_POST['a_name'])); 
$array2 = (array_filter($_POST['name'])); 
$array = $array . ' , ' . $array1; 
foreach ($array as $name) { 
echo '<br>'; 
echo $name; 
echo "<br>"; 
} 
?> 

Кто-нибудь знает правильный способ сделать эту задачу?

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

ответ

1

Вы не можете объединять массивы, делать, что там с позиций

$array = array_map(function ($a1, $a2) { return $a1 . ' , ' . $a2; } , $array1, $array2); 
+1

вы можете ..... '$ array3 = $ array1 + $ array2'. Это ужасно, но возможно. – DevDonkey

+1

это называется union in docs, а не конкатенация :) – splash58

+0

@ splash58 Как бы это сделать в моем коде? Для чего нужны $ a1 и $ a2? И DevDonkey Могу ли я запятнать несколько наборов имен, как я упоминал выше (сделать Смит, массив Эриксона и Джона, массивы Брианны совпадают с запятыми, чтобы сделать Смита, Джона и Эриксона, Брианну)? – edude123

Смежные вопросы