2017-02-16 6 views
-4

私はAPIから3次元配列を呼び出していますが、APIへの呼び出しが異なるとデータのやり方が少し異なり、配列キーが変更されることがあります。例えば、第1の配列は、あるケースではタイプ1に関連し、別のケースではタイプ2に関連する。述べたように、第1の配列の「タイプ」が等しい場合、時にはそれは、例えば、その中にあるものに基づいて配列を得るための方法があり、異なる種類に関係する前にそれは、この3次元配列の変更

Array 
(
    [id] => 
    [stats] => Array 
     (
      [0] => Array 
       (
        [type] => 
        [option] => 
        [modifyDate] => 

のようにレイアウトされています1をタイプし、変数Type1にそれを割り当てますか?

Array 
(
    [summonerId] => 39562006 
    [playerStatSummaries] => Array 
     (
      [0] => Array 
       (
        [playerStatSummaryType] => AramUnranked5x5 
        [wins] => 4 
        [modifyDate] => 1481110651000 
        [aggregatedStats] => Array 
         (
          [totalChampionKills] => 48 
          [totalTurretsKilled] => 2 
          [totalAssists] => 171 
         ) 

       ) 

一方、シナリオ2に、それはいくつか試した後、この

Array 
(
    [summonerId] => 34951469 
    [playerStatSummaries] => Array 
     (
      [0] => Array 
       (
        [playerStatSummaryType] => CAP5x5 
        [wins] => 16 
        [modifyDate] => 1481117277000 
        [aggregatedStats] => Array 
         (
          [totalChampionKills] => 325 
          [totalMinionKills] => 1996 
          [totalTurretsKilled] => 26 
          [totalNeutralMinionsKilled] => 1048 
          [totalAssists] => 298 
         ) 

       ) 

を示しており、私はforeloopはなると思う自分をエラー:

は、おそらくより良い例では、シナリオ1で、この示しそれは配列から各選択されたキーを出力し、選択したキーを出力することができますが、私はまだ、どのようにこれを行うには不明です、任意の提案?

+3

です。ご質問は? – Ankh

+0

[参照方法](http://stackoverflow.com/help/how-to-ask) –

+0

'if'と' isset'がたくさんあります。 – solarc

答えて

0

私のアドバイスは、この答えのようになります。https://stackoverflow.com/a/42708457/2943403 残念ながら、私は関連する入力配列の小さな関連サンプルと所望の出力配列なしでより詳細な情報を与えることができません。

// $new=array(...); 
// $old=array(...); 
foreach($new as $new_key=>$new_subarray){ 
    foreach(array_diff_key($old,range(0,$new_key)) as $old_subarray){ // no dupe loops 
     // perform checks between $new_subarray and $old_subarray 
    } 
} 
関連する問題