如何使用键和值显示从以下PHP代码生成的表达式项?

loading...


-2

这是我生成随机表达式的php代码

<?php
function get_random_item($array) { // function to generate operator like(+,-,*,/)  randomly
    $array_length = count($array);
    if ($array_length) {
        return $array[rand(0, $array_length - 1)];
    }
    return null;
}

function generate_random_digit() {
    return rand(1, 9);
}

function generate_random_operand($num_digits) { 
    if($num_digits == 4)
    {
        return rand(1, 999);  
    }
    $operand = "";
    while ($num_digits > 0) {
        $operand = $operand . generate_random_digit();
        if ($operand == "0") {
            $operand = "";
            continue;
        }
        $num_digits--;
    }
    return $operand;
}

function generate_expression($num_operands, $operators, $max_digits = 1) {
    $expression = array();
    while ($num_operands--) {
        $operation = false;
        if (count($expression)) {
            $operation = get_random_item($operators);
            $expression[] = $operation;
        }
        $operand = generate_random_operand($max_digits);

        if ($operation == "/" && $operand == "0") {
            $operand = generate_random_operand($max_digits) + 1;
        }
        $expression[] = $operand;
    }
    return $expression;
}
?>

现在上面的代码是生成随机表达式的逻辑,即随机操作数和运算符

这是我在输出中生成表达式的代码,其方式是每次只有一个项目应该对用户可见,并且应该显示单击下一个项目之后,当前项目将转到之前的位置,这对用户来说是不可见的我想像这样展示它们假设生成的表达式是2 1 = 3那么我怎样才能首先显示2然后点击下一个按钮然后1应该对用户可见而2应该进入prev位置,这对于用户等等直到答案,为此我怎样才能使用foreach循环使用该数组的键进行此操作?

<div class="slide flex" id="out">
    <h3 class="ta-center">Q(<?php echo $index+1 ?>)</h3><br><br>
            <div class="expression flex flex-row" id="exp">
        <?php foreach($expression as$key => $item) { ?>
        <span class="slide-item" id="elements">
            <?php
             if($item == "*"){
                echo "x";
             }else {
             echo $item ?></span><!--displaying each item at a time-->
        <?php }
    } ?>
        <span class="slide-item" id="equal"> = </span>
        <span class="slide-item">
            <span class="answer flex" id="place">
                <span class="answer-placeholder">
                   ****
                </span>

                <span class="answer-content"><!--displaying result-->
                   <?php echo number_format((float)$result, 2, '.', ''); ?>
                </span>

            </span>
        </span>
    </div>

那么,我该怎么做呢?

loading...

0回答

No Data

评论

暂时没有评论!