Frage : PHP entfernen doppelte Werte vom mehrdimensionalen Feld

Ich versuche, herauszufinden, wie man doppelte Reiheneintragungen, in einem mehrdimensionalen array.

Here ist ein Auszug meiner Daten vermischt:

1:
2:
3:
4:
5:
6:
Erklären/Geschäft - 86.02
   1->Demonstrate analytische und kritisch-denkende Fähigkeiten mit direkter Anwendung auf betrieblichem Umfeld. => 85.71
   Ideen 2->Communicate und Informationen effektiv mündlich und im Schreiben. => 90.48
   Fähigkeit 3->Demonstrate im Gebrauch von Softwareanwendung und Technologie im Geschäft und in der Industrie. => 90.48
   Fähigkeit 4->Demonstrate im Gebrauch von Softwareanwendung und Technologie im Geschäft und in der Industrie. => 85.71


What, das ich versuche zu tun, ist, zu finden überall dass der Text der selbe, und sie in ein einzelnes key=>value Paar zu vermischen ist.  Aber neben den Text gerade vermischen, müssen die Zahlen zusammen addiert werden (und Durchschnitt berechnet werden), um eine neue Zahl zu verursachen.

Ideally der oben genannte Schnitzel würde der folgende Schnitzel werden:

1:
2:
3:
4:
5:
Erklären/Geschäft - 86.02
   1->Demonstrate analytische und kritisch-denkende Fähigkeiten mit direkter Anwendung auf betrieblichem Umfeld. => 85.71
   Ideen 2->Communicate und Informationen effektiv mündlich und im Schreiben. => 90.48
   Fähigkeit 3->Demonstrate im Gebrauch von Softwareanwendung und Technologie im Geschäft und in der Industrie. => 88.095


The neue Zahl (88.095) verursacht durch das folgende = ((90.48+85.71) /2).

Anyone haben alle mögliche Ideen?  Ich habe versucht, dieses all day zu erhalten, aber ich kann scheinen, kein Info zu finden, das hilft oder finde es selbst… heraus  Dank für irgendeine Unterstützung diesbezüglich…

Antwort : PHP entfernen doppelte Werte vom mehrdimensionalen Feld

Ich denke, dass ich Sie Problem, gebe dieses vor: verstehe)



//-Eingangsreihe
$array = Reihe (
      Reihe („a“ => 10),
      Reihe („b“ => 20),
      Reihe („c“ => 20),
      Reihe („c“ => 15)
);

// verursachen eine neue Reihe für Lagerung
$newArray = Reihe ();

//-Schleife durch jedes Einzelteil
foreach ($array als $item) {
      // finden die Reihenschlüssel des Einzelteils ([„a“]… [„c“], usw.)
      $keys = array_keys ($item);
      
      //, wenn der Schlüsselzählimpuls ist, was wir erwarten
      wenn (Zählimpuls ($keys) == 1) {
            
            //-Überprüfung, wenn dieser Wert bereits verarbeitet worden ist
            wenn (array_key_exists ($keys [0], $newArray)) {
                  
                  // wenn so dann Zunahme der Zählimpuls und addieren den Wert
                  $newArray [$keys [0]] [„Zählimpuls“] ++;
                  $newArray [$keys [0]] [„Wert“] += $item [$keys [0]];
                  
            } sonst {
                  
                  // anderes kluges fügen dieses Einzelteil der neuen Reihe hinzu
                  $newArray [$keys [0]] = Reihe (
                        „Zählimpuls“ => 1,
                        „Wert“ => $item [$keys [0]]
                  );
            }
      }
}

// berechnen heraus der Werte und Formats in den erforderlichen Ausgang
$outputArray = Reihe ();
foreach ($newArray als $key => &$value) {
      $outputArray [] = Reihe ($key => ($value [„Wert“]/= $value [„Zählimpuls“]));
}


//-Ausgabe-Array
var_dump ($finalArray);
Weitere Lösungen  
 
programming4us programming4us