Как разделить значение массива одним первым символом на ключ и последним символом на значение

Я попытался разделить значение массива с тем же первым символом на ключ, а последний символ — на значение. Вот пример.
массив $:

    (
[0] => a6
[1] => a7
[2] => b2
[3] => b7
[4] => c7
[5] => c6
[6] => d6
[7] => d7
[8] => e3
[9] => e0
)

Я хочу сделать новый массив $ следующим образом:

 (          [a] => 67
[b] => 27
[c] => 76
[d] => 67
[e] => 30    )

До сих пор я пробовал этот код функции:

function array_split($array, $pieces=2)
{
if ($pieces < 2)
return array($array);
$newCount = ceil(count($array)/$pieces);
$a = array_slice($array, 0, $newCount);
$b = array_split(array_slice($array, $newCount), $pieces-1);
return array_merge(array($a),$b);
}

$arrayz =  array_split($array, 5);

но этот код имеет следующие результаты:
$ arrayz:

(
[0] => Array
(
[0] => a6
[1] => a7
)

[1] => Array
(
[0] => b2
[1] => b7
)

[2] => Array
(
[0] => c7
[1] => c6
)

[3] => Array
(
[0] => d6
[1] => d7
)

[4] => Array
(
[0] => e3
[1] => e0
)

)

Какой должна быть функция, чтобы получить результат?

1

Решение

Самое простое решение:

$res = [];
foreach ($array as $v) {
$res[$v[0]] = isset($res[$v[0]]) ? $res[$v[0]].$v[1] : $v[1];
}

print_r($res);

куда $array является ['a6','a7','b2', 'b7','c7','c6','d6','d7','e3','e0']

3

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

Строки в PHP, являющиеся массивом символов, мы можем обработать строку как массив символов.

<?php
$a=array('a6','a7','b2','b7','c7','c6','d6','d7','e3','e0');
$x=array();
foreach($a as $val)
{
$x[$val[0]].=$val[1];
}
echo '<pre>'; print_r($x);
?>
-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector