Sha256: cfd5dc8403d63a3fe03d0c3cd2d7eb556101171eeb385544c9b7a67740ee802d

Contents?: true

Size: 1.24 KB

Versions: 396

Compression:

Stored size: 1.24 KB

Contents

<?php

function calculate($question = "")
{
    preg_match(
        "/What is (-?\d+) (plus|minus|multiplied by|divided by) "
        . "(-?\d+)(?: (plus|minus|multiplied by|divided by) (-?\d+))?\?/",
        $question,
        $matches
    );

    if (empty($matches[2])) {
        throw new InvalidArgumentException();
    }

    switch ($matches[2]) {
        case 'plus':
            $number = $matches[1] + $matches[3];
            break;
        case 'minus':
            $number = $matches[1] - $matches[3];
            break;
        case 'multiplied by':
            $number = $matches[1] * $matches[3];
            break;
        case 'divided by':
            $number = $matches[1] / $matches[3];
            break;
        default:
            $number = 0;
    }

    if (isset($matches[4]) && isset($matches[5])) {
        switch ($matches[4]) {
            case 'plus':
                $number += $matches[5];
                break;
            case 'minus':
                $number -= $matches[5];
                break;
            case 'multiplied by':
                $number *= $matches[5];
                break;
            case 'divided by':
                $number /= $matches[5];
                break;

        }
    }

    return $number;
}

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/php/exercises/wordy/example.php
trackler-2.2.1.179 tracks/php/exercises/wordy/example.php
trackler-2.2.1.178 tracks/php/exercises/wordy/example.php
trackler-2.2.1.177 tracks/php/exercises/wordy/example.php
trackler-2.2.1.176 tracks/php/exercises/wordy/example.php
trackler-2.2.1.175 tracks/php/exercises/wordy/example.php
trackler-2.2.1.174 tracks/php/exercises/wordy/example.php
trackler-2.2.1.173 tracks/php/exercises/wordy/example.php
trackler-2.2.1.172 tracks/php/exercises/wordy/example.php
trackler-2.2.1.171 tracks/php/exercises/wordy/example.php
trackler-2.2.1.170 tracks/php/exercises/wordy/example.php
trackler-2.2.1.169 tracks/php/exercises/wordy/example.php
trackler-2.2.1.167 tracks/php/exercises/wordy/example.php
trackler-2.2.1.166 tracks/php/exercises/wordy/example.php
trackler-2.2.1.165 tracks/php/exercises/wordy/example.php
trackler-2.2.1.164 tracks/php/exercises/wordy/example.php
trackler-2.2.1.163 tracks/php/exercises/wordy/example.php
trackler-2.2.1.162 tracks/php/exercises/wordy/example.php
trackler-2.2.1.161 tracks/php/exercises/wordy/example.php
trackler-2.2.1.160 tracks/php/exercises/wordy/example.php