如何在PHP中将数组与POST数据进行比较?

时间:2015-01-25 02:52:32

标签: php arrays post compare associative

好的,所以我只使用HTML和PHP编写表单,所以我已经做的是将数据添加到数组中,我使用post方法发送信息,我可以从数组中删除数据也将数组内容打印到表中,但是我找不到比较我在输入中写入的信息与数组内容并将结果打印到表中的方法。

这是我在文件开头的PHP代码:

<?PHP

session_start();

$marca = $_POST['marca'];
$mod = $_POST['modelo'];
$color = $_POST['color'];

if(empty($_SESSION['auto'][$marca])){
    $_SESSION['auto'][$marca] = array(
        'marca' => $marca,
        'modelo' => $mod,
        'color' => $color                   
    );
}   

  if(!is_null(@$_GET['borrar'])){
     unset($_SESSION['auto'][$_GET['borrar']]);
      header('Location:formTransportes.php');
}?>

之后是HTML内容,我在这里打印数组:

<form action="formTransportes.php" method="post">
        <label>Buscar </label><br>
        <input type="text" name="buscar"><br>  //INPUT OF WHAT IM LOOKING FOR 
        <input type="submit" value="Buscar">
    </form><br> 
    <div id="datos">
        <table>
            <thead>
                <tr>Marca</tr>                  
                <tr>Modelo</tr>                 
                <tr>Color</tr>
                <tr>Acciones</tr>                   
            </thead>    
            <tbody>

                    <?PHP
                    if(!empty($_POST['buscar'])){
                    $clave=$_POST['buscar'];
                    //echo $clave;     ////HERE IS WHERE IT SHOULD BE THE INFO THAT IM LOOKING FOR
                        foreach($_SESSION['auto'] as $i=>$x){


                        }
                    }
                    else{   ///PRINT ALL ARRAY CONTENT

                        foreach($_SESSION['auto'] as $i=>$x){
                            echo"<tr>
                            <td>".$x['marca']."</td>".
                            "<td>".$x['modelo']."</td>".
                            "<td>".$x['color']."</td>".
                            "<td><a href='?borrar=".$i."'>Eliminar</a></td>
                            </tr>";
                        }           

                    }
                    ?>


            </tbody>
        </table>

1 个答案:

答案 0 :(得分:0)

感谢您的帮助,我找到了一种“strcmp”功能的方法,我想要的搜索部分就是:

if(!empty($_POST['buscar'])){

                        foreach($_SESSION['auto'] as $i=>$x){

                            if(strcmp($_POST['buscar'],$x ['marca'])==0||strcmp($_POST['buscar'],$x ['modelo'])==0||strcmp($_POST['buscar'],$x['color'])==0){
                                echo"<tr>
                                    <td>".$x['marca']."</td>".
                                    "<td>".$x['modelo']."</td>".
                                    "<td>".$x['color']."</td>".
                                    "<td><a href='?borrar=".$i."'>Eliminar</a></td>
                                    <a href='?borrar=".$i."'>Editar</a></td>
                                </tr>";
                            }   
                        }
                    }