“过滤”基于赢家/输家的php数组

时间:2015-01-15 12:12:18

标签: php

我正在尝试创建一个表格'与比赛中的赢家/输家;为此我从json中的API接收数据并将其解码为数组,这本身并不是问题,只是我很好奇,如果有可能这样做,但是以更好的方式&# 39;:

$table = array("winner" => array(), "loser" => array());
foreach($matchinfo as $team){
    if($team->Win_Status == "Winner"){ array_push($table["winner"], $team); }
    if($team->Win_Status == "Loser"){ array_push($table["loser"], $team); }
}

也许更多'清洁'或者有更好的表现'

2 个答案:

答案 0 :(得分:3)

嗯,我认为不太清洁。

foreach($matchinfo as $team) {
    $table[$team->Win_status][] = $team;
}

答案 1 :(得分:0)

为了使其更具可读性(不是原件不可读),您可以使用array_filter

function only_winners($team) {
  $team->Win_Status == 'Winner';
}

function only_losers($team) {
  $team->Win_Status == 'Loser';
}

$winners = array_filter($matchinfo, 'only_winners');
$losers = array_filter($matchinfo, 'only_losers');