Возвращает частичные платежи массива (строка) - PHP - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть несколько взносов в массиве, и я хочу кратко полностью вернуть количество взносов и значения в строке.

Пример

Ввод R $ 15,00 + 3 взноса R $ 15,00

В этом тестовом коде было невозможно получить этот результат с помощью foreach.

как можно Я делаю это?

<code><?php

    $installments = [];
    for ($x = 0; $x < 4; $x++) {
        $installments[$x]['installment'] = $x + 1;
        $installments[$x]['value'] = 15.0;
    }
    $policy['installment'] = $installments;
    $policy['in_full']     = get_in_full($installments);

    function get_in_full($installments) {
        foreach ($installments as $installment)
        {
            return 'result';
        }
        //return '1 of $ 15.00 + 3 installments of $ 15.00';
    }

    echo '<pre>';
    print_r($policy);
    echo '
'; ?>

enter image description here

1 Ответ

1 голос
/ 30 апреля 2020

Я построил это, чтобы учесть несколько партий разных значений (вам не нужно это использовать),

<code><?php

$installments = [];
for ($x = 0; $x < 4; $x++) {
    $installments[$x]['installment'] = $x + 1;
    $installments[$x]['value'] = 15.0;
}

$policy['installment'] = $installments;
$policy['in_full']     = get_in_full($installments);

function get_in_full($installments) {
    $total = '1 of $ ' . $installments[0]['value'];
    $installmentArray = [];

    foreach ($installments as $installment)
    {
        if ($installment['installment'] != 1) {
            $installmentArray[$installment['value']] += 1;
        }
    }

    asort($installmentArray);

    foreach ($installmentArray as $value => $numberOfInstallments) {
        $total .= ' + ' . $numberOfInstallments . ' installments of $ ' . $value;
    }

    return $total;
    //returns '1 of $ 15.00 + 3 installments of $ 15.00';
}

echo '<pre>';
print_r($policy);
echo '
'; ?>

Добавление,

$installments[4]['installment'] = 5;
$installments[4]['value'] = 20.0;

Дает,

Array
(
    [installment] => Array
        (
            [0] => Array
                (
                    [installment] => 1
                    [value] => 15
                )

            [1] => Array
                (
                    [installment] => 2
                    [value] => 15
                )

            [2] => Array
                (
                    [installment] => 3
                    [value] => 15
                )

            [3] => Array
                (
                    [installment] => 4
                    [value] => 15
                )

            [4] => Array
                (
                    [installment] => 5
                    [value] => 20
                )

        )

    [in_full] => 1 of $ 15 + 1 installments of $ 20 + 3 installments of $ 15
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...