2015-05-01 16 views
0

這裏是問題:我從數據庫中提取值並將它們放入數組中。該陣列包含多個運動隊。每個團隊都有多個成員。然而,每個團隊的成員數量都不相同。我如何遞歸地解析一個數組,其中我計算具有特定值的鍵的數量

所以,我需要解析數組,並從團隊1開始統計它有多少個成員,並將該值放入一個變量中。一旦完成,它將進入第2隊,然後是第3隊等等。當所有球隊都計算出來後,每個球隊的球隊成績都會顯示在網頁上。

這與問題無關,但我正在使用Laravel。但是,在這個階段,這不是我最關心的問題。理解原始php中的解決方案是一個好的開始。

+0

你能發表一個輸入數據的例子嗎? –

+1

您是否嘗試過爲此編寫php?它到目前爲止看起來如何?你卡在哪裏? – Krease

+0

爲了簡單起見,數據庫表中的每一行代表玩家或團隊成員,因此數組鍵/值將組織相同。簡單的例子: 名字姓氏隊伍 說實話,我掙扎着甚至找到從哪裏開始。我有創建一個數據透視表,因爲這可能在Laravel,但還沒有嘗試過。 – Vince

回答

0

嘗試使用array_map

$teams = array(
    'Team 1' => array('Joe', 'Jane'), 
    'Team 2' => array('Foo', 'Bar'), 
); 

$counts = array_map(function($team) { 
    return count($team); 
}, $teams); 

看到這裏例如:http://ideone.com/zfvIw2

當與Laravel口才集合處理,答案會有點不同。

0

這麼多選項。

最好的選擇。將團隊拆分成不同的陣列。然後你可以看看數組長度。

這將工作中使用多維數組,以及...

Playerset [隊伍] =陣列(陣列(姓名,年齡,性別,遊戲),陣列(姓名,年齡,性別,遊戲))。

0

您可以使用下面的邏輯此 例如: - $data=array('team1'=>array('a','b','c'), 'team2'=>array('d','e'), 'team3'=>array('f'));

$count=0;foreach($data as $key=>$val){ $count[$key]=count($data[$key]);}

print_r($count)會給你這樣的

$count=array('team1'=>3,'team2=>2,'team'=>1);

希望這將幫助您解決問題

相關問題