2016-04-30 6 views
0

チームのランキングをプールグループに基づいて表示したい。私はプール番号ごとにグループにそれをしたいJsonデータphpを使用した値によるグループ

foreach ($read_json->rows as $item) {    
$id = empty($item->team->id) ? "" : $item->team->id;     
$pool = empty($item->team->pool) ? "" : $item->team->pool; 
$rank = empty($item->rank) ? "" : $item->rank; 
$played = empty($item->stats[0]->value) ? "0" : $item->stats[0]->value; 
$won = empty($item->stats[1]->value) ? "0" : $item->stats[1]->value; 
$lost = empty($item->stats[2]->value) ? "0" : $item->stats[2]->value;    
$points = empty($item->stats[9]->value) ? "0" : $item->stats[9]->value; 
$net_run_rate= empty($item->stats[12]->value) ? "0" : $item->stats[12]->value;      
echo "<div>$id</div><div>$rank</div><div>$played</div><div>$won</div><div>$lost</div><div>$points</div><div>$net_run_rate</div>\n"; 
echo " </div>\n"; 
} 

:ここ

は出力にコーディングする私のJSONデータ

{"rows":[{"team":{"id":172725,"pool":1},"stats":[{"name":"played","value":1},{"name":"won","value":1},{"name":"lost","value":0},{"name":"points","value":"2.0"},{"name":"net_run_rate","value":"+6.325"}],"rank":"1"}, 
{"team":{"id":172726,"pool":3},"stats":[{"name":"played","value":0},{"name":"won","value":0},{"name":"lost","value":0},{"name":"points","value":"0.0"},{"name":"net_run_rate","value":"+0.000"}],"rank":"*"}, 
{"team":{"id":172727,"pool":2},"stats":[{"name":"played","value":1},{"name":"won","value":1},{"name":"lost","value":0},{"name":"points","value":"1.0"},{"name":"net_run_rate","value":"+4.455"}],"rank":"1"}, 
{"team":{"id":172728,"pool":1},"stats":[{"name":"played","value":1},{"name":"won","value":0},{"name":"lost","value":1},{"name":"points","value":"0.0"},{"name":"net_run_rate","value":"-6.325"}],"rank":"2"}, 
{"team":{"id":172729,"pool":2},"stats":[{"name":"played","value":1},{"name":"won","value":0},{"name":"lost","value":1},{"name":"points","value":"0.0"},{"name":"net_run_rate","value":"-4.455"}],"rank":"2"}]} 

現在のPHPがあります。ここでの結果を参照してください。

enter image description here

+0

あなたのプール番号はどこですか? –

+0

JSON形式のサードパーティ製です。 –

答えて

1

あなたはグループ配列に各行を割り当て、それに基づいてコンテンツを印刷したいと思います。

$pools = []; 

foreach ($read_json->rows as $item) 
{ 
    // Define this sub-array if it does not exist. 
    if (!isset($pools[$item->team->pool])) 
    { 
     $pools[$item->team->pool] = []; 
    } 

    // Add this item to this pool's array. 
    $pools[$item->team->pool][] = $item; 
} 

// Sort by key. 
ksort($pools); 

foreach ($pools as $pool_id => $pool) 
{ 
    echo "<h1>Pool $pool_id</h1>"; 

    foreach ($pool as $item) 
    { 
     $id = empty($item->team->id) ? "" : $item->team->id; 
     $pool = empty($item->team->pool) ? "" : $item->team->pool; 
     $rank = empty($item->rank) ? "" : $item->rank; 
     $played = empty($item->stats[0]->value) ? "0" : $item->stats[0]->value; 
     $won = empty($item->stats[1]->value) ? "0" : $item->stats[1]->value; 
     $lost = empty($item->stats[2]->value) ? "0" : $item->stats[2]->value; 
     $points = empty($item->stats[9]->value) ? "0" : $item->stats[9]->value; 
     $net_run_rate= empty($item->stats[12]->value) ? "0" : $item->stats[12]->value; 

     echo "<div>$id</div><div>$rank</div><div>$played</div><div>$won</div><div>$lost</div><div>$points</div><div>$net_run_rate</div>\n"; 
    } 
} 
+0

ありがとう@ Jaw.sh、私はあなたに試して更新します –

+0

それは動作します。ありがとう。あなたもこのQを整理できますか? http://stackoverflow.com/questions/34109055/json-data-group-by-team-name-with-php –

関連する問題