如何使用键和值显示从以下PHP代码生成的表达式项?
这是我生成随机表达式的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>
那么,我该怎么做呢?
回答(0)