从PHP数组中删除不需要的值

时间:2015-06-04 05:53:55

标签: php arrays sorting data-cleansing

我有一个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。在这种情况下,有两个用户--Daniel Kelleher和Bill Bixby。

我只需要每个用户的最后一个数据实例,例如Daniel Kelleher,4,1,2,1和Bill Bixby,2,1,1,0。

如何删除不需要的值并以数组结束,比如Bill Bixby,2,1,1,0,Daniel Kelleher,4,1,2,1&#39 ;?

1 个答案:

答案 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)