如何在 PHP 中遍历数组

How to traverse an Array in PHP

我有一个类似这样的数组

$steps = explode("[;;]",$str);

所以 $steps 包含我必须用来在 PHP 中显示 step/step 过程的值。

数组看起来像这样

$steps = array('corredores' , 'something' , 'something'...and so one );

我正在尝试根据第一步中保存在数组中的值显示表单我正在做这样的事情

switch($steps[0]){
    case 'categorias' :
    include  'obj/categorias.php';
                //$step='categorias';
                break;
    case 'corredores':
    include 'obj/corredores.php';
                //$step='corredores';
                break;
    case 'monedas':
    include 'obj/monedas.php';
                //$step='monedas';
                break;
    case 'location':
    include 'obj/location.php';
                //$step='location';
                break;
    default:
    break;  
}

//这里我试图匹配数组中的下一个值,我将在每个步骤 post 值中保存该值

if(isset($_POST['next']))
{
include  'obj/'.$_POST["next"].'php';
                //$step='categorias';
                break;  

}
else {


}

所以当我点击每个文件的下一个按钮时,它应该与数组中的下一个值匹配并显示相关文件

每个文件的 HTML 内容具有以下结构

<form method="post" action="./index.php" name="form_name">
<table><tr><th>Some Name</td></tr>
<tr><td><input type="submit" value="next"></td></tr></table>

  <input type="hidden" name="next" value="<?php  //here i will add the value for next ?>">
</form>

谁能给我一些建议

据我了解,您需要使用 POST var 搜索数组,然后在 input 标记的值属性中回显下一个值。

<?php 
 $key=0;
 if(isset($_POST['next'])){
     include  'obj/'.$_POST["next"].'php';
     $key = array_search($_POST["next"], $steps);
     if($key !== false) $key++;
     if($key==count($steps)) $key=0; 
       //if post contains last element then set $key to first OR do whatever you want
     break;  
 }
 else { }
 ?>

<input type="hidden" name="next" value="<?php echo $steps[$key]; ?>">