首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HTML表单的输入中获取数据,然后使用filter_array输出

从HTML表单的输入中获取数据,然后使用filter_array输出
EN

Stack Overflow用户
提问于 2016-05-22 11:59:30
回答 1查看 72关注 0票数 2

我试图创建一个过滤系统基本上,从一个超文本标记语言形式的输入获得数据,然后使用PHP中的数据来过滤现有的‘配置文件’从$profileArray,输出任何配置文件包括用户输入的数据/变量(S)。我不知道如何通过我的filter_array函数发送用户输入数据,据我所知,这些函数的工作原理是使用var_dump进行测试。

作为一个初学者,我不能理解php.net中的$foo和$bar解释,所以清晰的解释是非常感谢的。

HTML

代码语言:javascript
复制
<html>
<body>
    <form action="profileFilter.php" method="POST">
    <p>Age: <input type="text" name="ageChoice"></p>
    <p>Colour: <input type="text" name="colourChoice"></p>
    <input type="submit" name="catQualitiesBtn">   
    </form>
</body>
</html>

PHP

代码语言:javascript
复制
<?php    
    $profileArray = array( 
    array(  'Name' => "Toby",
            'Age' => 3, 
            'Colour' => "Ginger",
            ),

array(  'Name' => "Cassie",
        'Age' => 3, 
        'Colour' => "Tabby",
        ),

array(  'Name' => "Lucy",
        'Age' => 1, 
        'Colour' => "Black",
        )
        );

function get_profile_by_age ($profile, $age){
    return array_filter ($profile, function($ageInput) use ($age){
    return $ageInput['Age'] === $age;
   });    
   }

 function get_profile_by_age ($profile, $colour){
    return array_filter ($profile, function($colourInput) use ($colour){
    return $colourInput['Colour'] === $colour;
  });    
  }

$ageInput = intval($_POST['ageChoice']);
$colourInput = strval($_POST['colourChoice']);

echo function get_profile_by_age ($ageInput , $age);
echo function get_profile_by_colour ($colourInput , $colour);
?>
EN

回答 1

Stack Overflow用户

发布于 2016-05-22 12:44:30

我不明白你的问题是什么,但我认为你不能循环你的数组。此循环也将帮助您遍历多维数组。在您的数组中,age不是string,因此您不必将用户输入的值从string更改为int。

代码语言:javascript
复制
<html>
<body>
<form action="profileFilter.php" method="POST">
<p>Age: <input type="text" name="ageChoice"></p>
<p>Colour: <input type="text" name="colourChoice"></p>
<input type="submit" name="catQualitiesBtn">   
</form>
</body>
</html>

PHP

代码语言:javascript
复制
<?php

 $profileArray = array( 
array(  'Name' => "Toby",
        'Age' => 3, 
        'Colour' => "Ginger",
        ),

   array(  'Name' => "Cassie",
    'Age' => 3, 
    'Colour' => "Tabby",
    ),

  array(  'Name' => "Lucy",
    'Age' => 1, 
    'Colour' => "Black",
    )
    );

  if (isset($_POST['ageChoice']) && isset($_POST['colourChoice'])) {
   $ageInput = $_POST['ageChoice'];
   $colourInput = $_POST['colourChoice'];

 for ($i=0; $i >=0 ; $i++) { 
        if ($profileArray[i]['Age'] == $_POST['ageChoice'] && $profileArray[i]['Colour'] == $_POST['colourChoice']) {
            echo "name -".$profileArray[i]['Name'];
            break;
        }
    }
 }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37370382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档