Vraag : PHP verwijderen dubbele waarden uit multidimensionele serie

Ik probeer berekenen hoe te om dubbele serieingangen samen te voegen, in een multidimensionele array.

Here een uittreksel van mijn gegevens:

1:
2:
3:
4:
5:
6:
Het rekenschap geven/Zaken - 86.02
   1->Demonstrate analytische en kritiek-denkt vaardigheden met directe toepassing op bedrijfsmilieu's. => 85.71
   2->Communicate ideeën en informatie effectief zowel mondeling als schriftelijk. => 90.48
   3->Demonstrate vaardigheid in het gebruik van de toepassing van de computersoftware en technologie in zaken en de industrie. => 90.48
   4->Demonstrate vaardigheid in het gebruik van de toepassing van de computersoftware en technologie in zaken en de industrie. => 85.71


What ik probeer te doen ben vondst overal die de tekst het zelfde is, en samenvoeg hen in één enkel key=>valuepaar.  Maar ongeacht enkel het samenvoegen van de tekst, moeten de aantallen worden toegevoegd en (worden het gemiddelde genomen) samen om een nieuw aantal tot stand te brengen.

Ideally bovengenoemd zou worden volgend knipt knipt:

1:
2:
3:
4:
5:
Het rekenschap geven/Zaken - 86.02
   1->Demonstrate analytische en kritiek-denkt vaardigheden met directe toepassing op bedrijfsmilieu's. => 85.71
   2->Communicate ideeën en informatie effectief zowel mondeling als schriftelijk. => 90.48
   3->Demonstrate vaardigheid in het gebruik van de toepassing van de computersoftware en technologie in zaken en de industrie. nieuw die aantal => 88.095


The (88.095) door het volgende = ((90.48+85.71) wordt gecre�ërd /2).

Anyone heeft om het even welke ideeën?  Ik heb geprobeerd om dit te worden de hele dag, maar ik kan niet schijnen om om het even welke info te vinden dat hulp of stel het uit zelf… voor  Dank voor om het even welke hulp in dit…

Antwoord : PHP verwijderen dubbele waarden uit multidimensionele serie

Ik denk ik u probleem, geef dit geleden: begrijp)



// de serie van de Input
$array = serie (
      serie ('a' => 10),
      serie ('b' => 20),
      serie („c“ => 20),
      serie („c“ => 15)
);

// leidt tot een nieuwe serie voor opslag
$newArray = serie ();

// Lijn door elk punt
foreach ($array als $item) {
      // vindt de seriesleutels van het punt (['a']… [„c“], enz.)
      $keys = array_keys ($item);
      
      // als de sleutelstelling is wat wij verwachten
      als (telling ($keys) == 1) {
            
            // Controle als deze waarde reeds is verwerkt
            als (array_key_exists ($keys [0], $newArray)) {
                  
                  // als zo dan de telling verhoog en de waarde toevoeg
                  $newArray [$keys [0]] [„telling“] ++;
                  $newArray [$keys [0]] [„waarde“] += $item [$keys [0]];
                  
            } anders {
                  
                  // Andere wijs voegt dit punt aan de nieuwe serie toe
                  $newArray [$keys [0]] = serie (
                        „telling“ => 1,
                        „waarde“ => $item [$keys [0]]
                  );
            }
      }
}

// Gemiddelde uit de waarden en het formaat in de vereiste output
$outputArray = serie ();
foreach ($newArray als $key => &$value) {
      $outputArray [] = stel ($key => ($value [„waarde“]/= $value [„telling“])) op;
}


// de serie van de Output
var_dump ($finalArray);
Andere oplossingen  
 
programming4us programming4us