我正在使用一個API,並使用一些foreach循環來到現在我所處的階段。請參閱下面的代碼和我的評論,以及我得到的結果。PHP循環來獲得我需要的數據
// get recent_games api data
$recent_games_data = $player->recent_games();
//start arrays for below
$matches = array();
$gameType = array();
$myData = array();
// using foreach loops to dig in to api data
foreach($recent_games_data['gameStatistics']['array'] as $key_match_data => $value_match_data) {
$matches[] = $value_match_data['statistics'];
}
foreach($matches as $key_match) {
$gameType[] = $key_match['array'];
}
foreach ($gameType as $keyz) {
$myData[] = $keyz;
}
$ mydata數組輸出以下數據。
Array
(
[0] => Array
(
[0] => Array
(
[statType] => TRUE_DAMAGE_DEALT_TO_CHARACTER
[dataVersion] => 0
[value] => 3351
[futureData] =>
)
[1] => Array
(
[statType] => ASSISTS
[dataVersion] => 0
[value] => 14
[futureData] =>
)
[2] => Array
(
[statType] => NUM_DEATHS
[dataVersion] => 0
[value] => 3
[futureData] =>
)
)
[1] => Array
(
[0] => Array
(
[statType] => TRUE_DAMAGE_DEALT_TO_CHARACTER
[dataVersion] => 0
[value] => 331
[futureData] =>
)
[1] => Array
(
[statType] => ASSISTS
[dataVersion] => 0
[value] => 4
[futureData] =>
)
[2] => Array
(
[statType] => NUM_DEATHS
[dataVersion] => 0
[value] => 7
[futureData] =>
)
)
當然有更多的數據,但這基本上是我現在擁有的。第一個數組[0]爲,每個匹配爲,第二個數組爲,統計數據爲。我想要的是如何獲得每場比賽的統計數據,而不用硬編碼比賽陣列號碼,例如下面。
$myData[0][0]['statType']
讓我知道你是否需要更多的信息,謝謝。
編輯:對不起,提及作爲新的統計數據被添加到API,索引號碼的變化。 IE TRUE_DAMAGE_DEALT_TO_CHARACTER是[0]開始與但隨後可改變爲[1]或[2]等
你應該考慮在與代替模型類工作構建一個巨大的關聯數組。起初可能會做更多的工作,但它會使編碼和維護變得更容易。這就是OOP發明的原因! – Pevara