2017-08-22 13 views
-2

をPHP(はるかに長い - 一部のみ)num。アレイ、合計値と同じ値が、私はこの配列を持つ

[366] => Array 
    (
     [0] => 8 
     [1] => 7 
     [2] => 8 
     [3] => 9 
     [4] => 8 
    ) 

[367] => Array 
    (
     [0] => 8 
     [1] => 9 
     [2] => 9 
     [3] => 10 
     [4] => 10 
     [5] => 9 
     [6] => 8 
     [7] => 9 
     [8] => 10 
     [9] => 10 
     [10] => 11 
     [11] => 10 
     [12] => 11 
     [13] => 11 
     [14] => 10 
     [15] => 9 
     [16] => 10 
     [17] => 8 
     [18] => 10 
    ) 

キーがなければなりませんホールド(IDがあります)。 foreachの値を合計したい(この例では値は世代です)。だから、ジェネレーション8は366

ための3回は期待カウントである366のIDです:7 - すべての提案は歓迎と感謝される1倍または

[366] => Array 
    (
    [7] => 1 
    [8] => 3 
    [9] => 1 
    ) 

    [367] => Array 
    (
    [8] => 3 
    [9] => 5 
    [10] => 8 
    [11] => 3 
    ) 

- 1倍、8 - 3倍、9!

- 私は常に数字キーやforeachので停止...コードi'veの一つは、試してみました:

$outdams = array(); 
foreach ($dams as $key => $value) { 
    foreach ($value as $key2 => $value2) { 
     $index = $value2; 
     if (array_key_exists($index, $outdams)) { 
      $outdams[$index]++; 
     } else { 
      $outdams[$index] = 1; 
     } 
    } 
} 
+0

あなたは「私たちに何を表示することができます前に試しましたか? – Veve

+0

が完璧に動作します、ありがとうございます! – Shakki

答えて

3

チェックは、このコード

<?php 
$data = array(366=>array(8,7,8,8,9), 
       367=>array(8,9,13,14,17,14)); 
echo "<pre>"; print_r($data); 

$response = array(); 
foreach ($data as $outerkey => $outerData){ 
    foreach ($outerData as $innerkey => $innerData){ 
     //echo "<pre>"; print_r($innerData); 
     if(array_key_exists($innerData, $response[$outerkey])){ 
      $response[$outerkey][$innerData] ++; 
     }else{ 
      $response[$outerkey][$innerData] = 1; 
     } 
    } 
} 
echo "<pre>"; print_r($response); 

?> 
+0

は – Shakki

関連する問題