Thursday, September 18, 2014

Express your amount/digits in word

<?php

function oneDigit($d1) {
    $firstdigits = array(
        'one' => 1,
        'two' => 2,
        'three' => 3,
        'four' => 4,
        'five' => 5,
        'six' => 6,
        'seven' => 7,
        'eight' => 8,
        'nine' => 9,
    );
    $key = array_search($d1, $firstdigits);

    return $key;
}

function twoDigit($d1, $d2) {
    $firstdigits = array(
        'ten' => 1,
        'twenty' => 2,
        'thirty' => 3,
        'fourty' => 4,
        'fifty' => 5,
        'sixty' => 6,
        'seventy' => 7,
        'eighty' => 8,
        'ninety' => 9,
    );

    $seconddigits = array(
        'eleven' => 1,
        'twelve' => 2,
        'thirteen' => 3,
        'fourteen' => 4,
        'fifteen' => 5,
        'sixteen' => 6,
        'seventeen' => 7,
        'eighteen' => 8,
        'nineteen' => 9,
    );
    if ($d1 == 1 && $d2 != 0) {
        $key = array_search($d2, $seconddigits);
        return $key;
    } else {
        if ($d2 == 0) {
            $key = array_search($d1, $firstdigits);
            return $key;
        } else {
            $key1 = array_search($d1, $firstdigits);
            $key2 = oneDigit($d2);
            return $key1 . " " . $key2;
        }
    }
}

function threeDigit($d1, $d2, $d3) {
    $key1 = oneDigit($d1);
    if ($d1 == 0)
        $numberPostFix = "";
    else
        $numberPostFix="hundred";
    $key2 = twoDigit($d2, $d3);

    return $key1 . " " . $numberPostFix . " " . $key2;
}

function fourDigit($d1, $d2, $d3, $d4) {
    if (strlen($d1) == 1) {
        $key1 = oneDigit($d1);
    } else {
        $seperated = str_split($d1);
        $key1 = twoDigit($seperated[0], $seperated[1]);
    }
    if ($d1 == 0)
        $numberPostFix = "";
    else
        $numberPostFix="thousand";
    $key2 = threeDigit($d2, $d3, $d4);

    return $key1 . " " . $numberPostFix . " " . $key2;
}

function sixDigit($d1, $d2, $d3, $d4, $d5, $d6) {
    if (strlen($d1) == 1) {
        $key1 = oneDigit($d1);
        $numberPostFix = "lakh";
    } else {
        $seperated = str_split($d1);
        $key1 = twoDigit($seperated[0], $seperated[1]);
        if ($seperated[0] == 0)
            $numberPostFix = "";
        else
            $numberPostFix="lakh";
    }

    $key2 = fourDigit($d2 . "" . $d3, $d4, $d5, $d6);

    return $key1 . " " . $numberPostFix . " " . $key2;
}

function eightDigit($d1, $d2, $d3, $d4, $d5, $d6, $d7, $d8) {
    if (strlen($d1) == 1) {
        $key1 = oneDigit($d1);
        $numberPostFix = "cror";
    } else if (strlen($d1) == 2) {
        $seperated = str_split($d1);
        $key1 = twoDigit($seperated[0], $seperated[1]);
        $numberPostFix = "cror";
    } else if (strlen($d1) == 3) {
        $seperated = str_split($d1);
        $key1 = threeDigit($seperated[0], $seperated[1], $seperated[2]);
        $numberPostFix = "cror";
    } else if (strlen($d1) == 4) {
        $seperated = str_split($d1);
        $key1 = fourDigit($seperated[0], $seperated[1], $seperated[2], $seperated[3]);
        $numberPostFix = "cror";
    } else if (strlen($d1) == 5) {
        $seperated = str_split($d1);
        $key1 = fourDigit($seperated[0].$seperated[1], $seperated[2], $seperated[3], $seperated[4]);
        $numberPostFix = "cror";
    } else if (strlen($d1) == 6) {
        $seperated = str_split($d1);
        $key1 = sixDigit($seperated[0], $seperated[1], $seperated[2], $seperated[3], $seperated[4], $seperated[5]);
        $numberPostFix = "cror";
    }else if (strlen($d1) == 7) {
        $seperated = str_split($d1);
        $key1 = sixDigit($seperated[0].$seperated[1], $seperated[2], $seperated[3], $seperated[4], $seperated[5], $seperated[6]);
        $numberPostFix = "cror";
    }else if (strlen($d1) == 8) {
        $seperated = str_split($d1);
        $key1 = sixDigit($seperated[0].$seperated[1].$seperated[2], $seperated[3], $seperated[4], $seperated[5], $seperated[6], $seperated[7]);
        $numberPostFix = "cror";
    }else{
        die("i am dying here. check me on index.php: 137");
    }

    $key2 = sixDigit($d2 . "" . $d3, $d4, $d5, $d6, $d7, $d8);

    return $key1 . " " . $numberPostFix . " " . $key2;
}

function expressInWord($input) {
    if (strlen($input) == 1) {
        return oneDigit($input);
    } else if (strlen($input) == 2) {
        $inputSplited = str_split($input);
        return twoDigit($inputSplited[0], $inputSplited[1]);
    } else if (strlen($input) == 3) {
        $inputSplited = str_split($input);
        return threeDigit($inputSplited[0], $inputSplited[1], $inputSplited[2]);
    } else if (strlen($input) == 4) {
        $inputSplited = str_split($input);
        return fourDigit($inputSplited[0], $inputSplited[1], $inputSplited[2], $inputSplited[3]);
    } else if (strlen($input) == 5) {
        $inputSplited = str_split($input);
        return fourDigit($inputSplited[0] . $inputSplited[1], $inputSplited[2], $inputSplited[3], $inputSplited[4]);
    } else if (strlen($input) == 6) {
        $inputSplited = str_split($input);
        return sixDigit($inputSplited[0], $inputSplited[1], $inputSplited[2], $inputSplited[3], $inputSplited[4], $inputSplited[5]);
    } else if (strlen($input) == 7) {
        $inputSplited = str_split($input);
        return sixDigit($inputSplited[0] . $inputSplited[1], $inputSplited[2], $inputSplited[3], $inputSplited[4], $inputSplited[5], $inputSplited[6]);
    } else if (strlen($input) == 8) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0], $inputSplited[1], $inputSplited[2], $inputSplited[3], $inputSplited[4], $inputSplited[5], $inputSplited[6], $inputSplited[7]);
    } else if (strlen($input) == 9) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0] . $inputSplited[1], $inputSplited[2], $inputSplited[3], $inputSplited[4], $inputSplited[5], $inputSplited[6], $inputSplited[7], $inputSplited[8]);
    } else if (strlen($input) == 10) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0] . $inputSplited[1] . $inputSplited[2], $inputSplited[3], $inputSplited[4], $inputSplited[5], $inputSplited[6], $inputSplited[7], $inputSplited[8], $inputSplited[9]);
    } else if (strlen($input) == 11) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0] . $inputSplited[1] . $inputSplited[2] . $inputSplited[3], $inputSplited[4], $inputSplited[5], $inputSplited[6], $inputSplited[7], $inputSplited[8], $inputSplited[9], $inputSplited[10]);
    } else if (strlen($input) == 12) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0] . $inputSplited[1] . $inputSplited[2] . $inputSplited[3] . $inputSplited[4], $inputSplited[5], $inputSplited[6], $inputSplited[7], $inputSplited[8], $inputSplited[9], $inputSplited[10], $inputSplited[11]);
    } else if (strlen($input) == 13) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0] . $inputSplited[1] . $inputSplited[2] . $inputSplited[3] . $inputSplited[4] . $inputSplited[5], $inputSplited[6], $inputSplited[7], $inputSplited[8], $inputSplited[9], $inputSplited[10], $inputSplited[11], $inputSplited[12]);
    }else if (strlen($input) == 14) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0] . $inputSplited[1] . $inputSplited[2] . $inputSplited[3] . $inputSplited[4] . $inputSplited[5].$inputSplited[6], $inputSplited[7], $inputSplited[8], $inputSplited[9], $inputSplited[10], $inputSplited[11], $inputSplited[12], $inputSplited[13]);
    }else if (strlen($input) == 15) {
        $inputSplited = str_split($input);
        return eightDigit($inputSplited[0] . $inputSplited[1] . $inputSplited[2] . $inputSplited[3] . $inputSplited[4] . $inputSplited[5].$inputSplited[6].$inputSplited[7], $inputSplited[8], $inputSplited[9], $inputSplited[10], $inputSplited[11], $inputSplited[12], $inputSplited[13], $inputSplited[14]);
    }else {
        return "Limit exceeds! Limit: 999999999999999 (15 digits)";
    }
}
?>
<form action="index.php" method="post">
    <table>
        <tr>
            <th colspan="3">Express your amount/digits in word<hr/></th>
        </tr>
        <tr>
            <th>Input (Digits)</th>
            <td><input type="text" name="inputDigit" style="width: 100%;" value="<?php if (isset($_POST['inputDigit'])) {
    echo $_POST['inputDigit'];
} ?>"/></td>
            <td><input type="submit" value="Express"/></td>
        </tr>
        <tr>
            <th>Output (In Word)</th>
            <td colspan="3">
                <?php
                if (isset($_POST['inputDigit'])) {
                    $input = $_POST['inputDigit'];
                    if ($input != "") {
                        ?>
                        <div style="float: left; width: 100%; border: 1px solid blueviolet; margin-bottom: 5px; padding: 4px;">
                        <?php echo expressInWord($input); ?>
                        </div>
                        <?php
                    }
                }
                ?>
            </td>
        </tr>
    </table>
</form>

No comments:

Post a Comment