3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Team- und Spielstrategie-Einstellungen $teamA = [ 'name' => 'Team A', 'players' => [ 'goalkeeper' => 'Spieler A1', 'defensive' => ['left' => 'Spieler A2', 'center' => 'Spieler A3', 'right' => 'Spieler A4'], 'midfield' => ['left' => 'Spieler A5', 'center' => 'Spieler A6', 'right' => 'Spieler A7'], 'offensive' => ['left' => 'Spieler A8', 'center' => 'Spieler A9', 'right' => 'Spieler A10'] ], 'strategy' => ['left' => 0.2, 'center' => 0.4, 'right' => 0.4], 'offensive_percentage' => 100 // 100% offensiv ]; $teamB = [ 'name' => 'Team B', 'players' => [ 'goalkeeper' => 'Spieler B1', 'defensive' => ['left' => 'Spieler B2', 'center' => 'Spieler B3', 'right' => 'Spieler B4'], 'midfield' => ['left' => 'Spieler B5', 'center' => 'Spieler B6', 'right' => 'Spieler B7'], 'offensive' => ['left' => 'Spieler B8', 'center' => 'Spieler B9', 'right' => 'Spieler B10'] ], 'strategy' => ['left' => 0.5, 'center' => 0.2, 'right' => 0.3], 'offensive_percentage' => 100 // 100% offensiv ]; // Funktion zur Berechnung des Erfolgs einer Aktion function calculateSuccess($teamValue, $opponentValue) { return $teamValue / ($teamValue + $opponentValue); } // Funktion zur Zufallsverteilung der Ereignisse function distributeEvents($totalEvents, $duration) { $events = []; for ($i = 0; $i < $totalEvents; $i++) { $minute = mt_rand(0, $duration * 10) / 10; $events[] = $minute; } sort($events); return $events; } // Anzahl der Aktionen pro Team berechnen $totalActions = 50; // Beispielwert $actionsTeamA = $totalActions * 0.5; // 50% Ballbesitz $actionsTeamB = $totalActions * 0.5; // 50% Ballbesitz // Verteilung der Aktionen auf die Spielfeldseiten basierend auf der Teamstrategie $actionsTeamA_left = $actionsTeamA * $teamA['strategy']['left']; $actionsTeamA_center = $actionsTeamA * $teamA['strategy']['center']; $actionsTeamA_right = $actionsTeamA * $teamA['strategy']['right']; $actionsTeamB_left = $actionsTeamB * $teamB['strategy']['left']; $actionsTeamB_center = $actionsTeamB * $teamB['strategy']['center']; $actionsTeamB_right = $actionsTeamB * $teamB['strategy']['right']; // Erfolg der Aktionen berechnen $successA_left = calculateSuccess($teamA['players']['defensive']['left'], $teamB['players']['offensive']['right']); $successA_center = calculateSuccess($teamA['players']['midfield']['center'], $teamB['players']['midfield']['center']); $successA_right = calculateSuccess($teamA['players']['offensive']['right'], $teamB['players']['defensive']['left']); $successB_left = calculateSuccess($teamB['players']['defensive']['left'], $teamA['players']['offensive']['right']); $successB_center = calculateSuccess($teamB['players']['midfield']['center'], $teamA['players']['midfield']['center']); $successB_right = calculateSuccess($teamB['players']['offensive']['right'], $teamA['players']['defensive']['left']); // Erfolgreiche Aktionen berechnen $successfulActionsA = $actionsTeamA * $successA_center; // Beispiel für das Zentrum $successfulActionsB = $actionsTeamB * $successB_center; // Beispiel für das Zentrum // Ereignisse zufällig auf die Spielzeit verteilen $duration = 90; // Spieldauer in Minuten $eventsA = distributeEvents($successfulActionsA, $duration); $eventsB = distributeEvents($successfulActionsB, $duration); // Ausgabe der Ereignisse echo "Team A Ereignisse:\n"; print_r($eventsA); echo "Team B Ereignisse:\n"; print_r($eventsB); // Spielergebnis berechnen (Beispiel: Anzahl der Tore) $goalsA = count($eventsA) / 10; // Beispiel: Ein Tor pro 10 Ereignisse $goalsB = count($eventsB) / 10; // Beispiel: Ein Tor pro 10 Ereignisse echo "Endergebnis:\n"; echo $teamA['name'] . ": " . $goalsA . " Tore\n"; echo $teamB['name'] . ": " . $goalsB . " Tore\n"; // Spieleraufstellungen ausgeben echo "Aufstellungen:\n"; echo $teamA['name'] . ":\n"; print_r($teamA['players']); echo $teamB['name'] . ":\n"; print_r($teamB['players']); ?>
Output for 8.2.0 - 8.2.27, 8.3.0 - 8.3.15, 8.4.1 - 8.4.2
Fatal error: Uncaught TypeError: Unsupported operand types: string + string in /in/5ViWn:29 Stack trace: #0 /in/5ViWn(58): calculateSuccess('Spieler A2', 'Spieler B10') #1 {main} thrown in /in/5ViWn on line 29
Process exited with code 255.

preferences:
42.88 ms | 406 KiB | 5 Q