Удалите ненужные значения из массива PHP

У меня есть PHP-скрипт, который перебирает различные таблицы базы данных для генерации результатов.

Я не знаю заранее, сколько результатов будет накапливаться или сколько пользователей.
Поэтому я перебираю данные и собираю наборы данных в одномерный массив следующим образом:

Daniel Kelleher,1,0,1,0,Bill Bixby,1,0,1,0,Daniel Kelleher,2,0,2,0,Daniel Kelleher,3,1,2,0,Bill Bixby,2,1,1,0,Daniel Kelleher,4,1,2,1

Вы можете видеть шаблон из 5 значений, проходящих по массиву — name, int, int, int, int. В этом случае есть два пользователя — Даниэль Келлехер и Билл Биксби.

Мне нужен только последний экземпляр данных для каждого пользователя, например, Даниэль Келлехер, 4,1,2,1 и Билл Биксби, 2,1,1,0.

Как бы я удалил нежелательные значения и закончил бы массивом «Билл Биксби, 2,1,1,0, Даниэль Келлехер, 4,1,2,1»?

0

Решение

$array = array('Daniel Kelleher',1,0,1,0,'Bill Bixby',1,0,1,0,'Daniel Kelleher',2,0,2,0,'Daniel Kelleher',3,1,2,0,'Bill Bixby',2,1,1,0,'Daniel Kelleher',4,1,2,1);

$temp = array();
$chunk = array_chunk($array,5);  // make array of arrays with 5 items
foreach($chunk as $item)
$temp[$item[0]] = $item;

var_dump($temp);
// array(2) {
//       ["Daniel Kelleher"] => array("Daniel Kelleher", 4, 1, 2, 1)
//       ["Bill Bixby"] => array("Bill Bixby", 2, 1, 1 0)
// }

// if you want plain array

$result = array();
foreach($temp as $item)
$result = array_merge($result, $item);
var_dump($result);
// array("Daniel Kelleher", 4, 1, 2, 1, "Bill Bixby", 2, 1, 1, 0)
0

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

Других решений пока нет …