Alex_: Verschachteltes Array übersichtlich füllen

Beitrag lesen

Moin Sven!

<?php
$points = 10;
$rounds = 2;
$array['spieler'] = array(
  array('bez' => 'Punkte', 'wert' => $points),
  array('bez' => 'Spielrunden', 'wert' => $rounds),
  ($rounds > 0? array('bez' => 'Punkte pro Runde', 'wert' => $points/$rounds) : array()),
);
print_r($array);
?>

Vielen Dank für deine Antwort. Die vorgeschlagene Lösung gefällt mir sehr gut und ich werde die verwenden.

Nachrichtlich dennoch: Ich habe mir inzwischen auch nochmal Gedanken gemacht und selbst folgende Lösung überlegt, da die es sich bei den berechneten Werten fast immer um eine Division handelt:

<?php
//Funktion
function getQuote($dividend,$divisor) {
   if($divisor!=0) {
      $quotient = $dividend / $divisor;
   } else {
      $quotient = 0; //Mathematisch falsch, aber hier passend
   }
   return $quotient;
}


$points = 10;
$rounds = 2;
$array['spieler'] = array(
  array('bez' => 'Punkte', 'wert' => $points),
  array('bez' => 'Spielrunden', 'wert' => $rounds),
  array('bez' => 'Punkte pro Runde', 'wert' => getQuote($points,$rounds))
);
print_r($array);
?>

Der Alternativwert für "runden <= 0" wäre noch zu überlegen. Leer lassen würde ich das Array an dieser Stelle nicht, d.h. es sollte ebenfalls einen Key "bez" und "wert" bekommen, nur halt passend für diese Situation.

Diese Situation habe ich mir auch schon überlegt (siehe obigen Kommentar). Vlt. werde ich hier aber auch noch eine andere Rückgabe (evtl. NULL) einbauen.