将一个where子句添加到PHP foreach循环中

sco*_*ott 1 php

我正在尝试将搜索表单添加到页面上输出的结果列表中.

我在表单中使用的变量是"term"

<form method="post">
    <input type="text" name="term" /><br />
    <input style="margin-top:-16px; margin-left:10px;" type="submit" name="submit" value="Submit" />
</form> 
Run Code Online (Sandbox Code Playgroud)

我想改变foreach循环以使用表单,(此刻它看起来像这样)

  <?php foreach ($data['page'] as $item): ?>
Run Code Online (Sandbox Code Playgroud)

但我希望它的功能如下:

  <?php foreach ($data['page'] as $item) WHERE $item contains 'term': ?>
Run Code Online (Sandbox Code Playgroud)

(我知道上面的内容不正确,但这就是我想要实现的目标.)

lui*_*s90 7

<?php 
    foreach ($data['page'] as $item) {
        if (in_array($_POST['term'], $item)) {
            // do your work.
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

in_array 检查元素是否在数组中.

$_POST是一个PHP超全局,它包含使用HTML表单提交到当前页面的所有POST数据<form method="post">.PHP超全局意味着它们在每个PHP脚本中都可用,而不是首先声明它们.