如何在PHP中遍历数组

时间:2015-01-05 09:21:38

标签: php arrays

我有一个像这样的数组

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

所以$ steps保存了我必须用来在PHP中显示步骤/步骤过程的值。

数组看起来像这样

$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;  
}

//这里我试图匹配我将在每个步骤中保存在此帖子值中的数组中的下一个值

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>

任何人都可以给我一些建议吗

1 个答案:

答案 0 :(得分:1)

根据我的理解,您需要使用POST var搜索数组,然后在input tag的value属性中回显next值。

<?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]; ?>">