2015-06-04 3 views
0

У меня есть скрипт 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 значений сквозных через массив - имя, Int, Int, Int, Int. В этом случае есть два пользователя - Даниэль Келлехер и Билл Биксби.

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

Как бы удалить ненужные значения и закончить с помощью массива как «Билл Биксби, 2,1,1,0, Daniel Kelleher, 4,1,2,1 '?

+2

Сообщения исходного массива выглядит как струна –

+2

также разместить источник, где массив генерирующего – Viral

+0

использования отключенного() для достижения этого –

ответ

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) 
Смежные вопросы