2016-03-17 5 views
-1

У меня есть простой массив:добавить ключи в массив и группы значений

Array(1,3,c,4,a,24,m,4) 

Мне нужно сгруппировать два значения для ключа как:

Array 
(
    [0] => 1 - 3 
    [1] => c - 4 
    [2] => a - 24 
    [3] => m - 4 
) 
+2

Это хорошо. Удачи с этим. У вас был вопрос программирования? Этот сайт предназначен для вопросов, а не для размещения ваших списков/требований. –

+2

[array_chunk()] (http://www.php.net/manual/en/function.array-chunk.php) размером 2; затем [array_walk()] (http://www.php.net/manual/en/function.array-walk.php) с обратным вызовом, который [implode] (http://www.php.net/manual/en /function.implode.php)s на '-'; –

+0

@Mark Baker Спасибо! – h404

ответ

0

Сжатый раствор с foreach петлей и array_values функции:

$arr = [1,3,'c',4,'a',24,'m',4]; 
$result = []; 

foreach ($arr as $k => $v) { 
    ($k % 2 == 0)? $result[$k] = $v : $result[$k-1] .= " - $v"; 
} 

var_dump(array_values($result)); 

// the output: 
array (size=4) 
    0 => string '1 - 3' (length=5) 
    1 => string 'c - 4' (length=5) 
    2 => string 'a - 24' (length=6) 
    3 => string 'm - 4' (length=5) 
Смежные вопросы