Объединить два последовательных значения в одно двойное значение в одном массиве

Как я могу сделать следующее преобразование массива в PHP?

// turn
array ('1', 'a', '2', 'b', '3', 'c', '4', 'd');

// into
array ('1,a', '2,b', '3,c', '4,d');

-4

Решение

Вы можете легко к этому с array_chunk:

$original = array ('1', 'a', '2', 'b', '3', 'c', '4', 'd');

$new_array = array();
foreach(array_chunk($original, 2) as $values) {
$new_array[] = implode(',', $values);
}

var_dump($new_array );
1

Другие решения

Мне скучно:

$result = array_map(function($v) { return implode(',', $v); },
array_chunk($array, 2));
  • Разбейте массив на дочерние массивы из 2 значений
  • Сопоставьте каждый кусок в функцию, которая внедряет значения
1

Я использую JavaScript, но та же логика применима и к php.

<script type="text/javascript">
var list = ['1', 'a', '2', 'b', '3', 'c', '4', 'd'];

var nlist = [];

for(i=0; i<list.length-1; i+=2)
nlist.push("'"+list[i]+","+list[i+1]+"'");

alert(nlist[0]); //'1,a'
alert(nlist); //'1,a', '2,b', '3,c', '4,d'
</script>
-2
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector