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

时间:2013-07-28 13:31:51

标签: 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> 

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

  <?php foreach ($data['page'] as $item): ?>

但我希望它的功能如下:

  <?php foreach ($data['page'] as $item) WHERE $item contains 'term': ?>

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

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:1)

我不知道我是否正确地阅读了你的问题,但我认为它是这样的:

<?php
foreach ($data['page'] as $item) {
    if ($item == 'term') {
        // do something
    }
}
?>

或可能

<?php
foreach ($data['page'] as $item) {
    if ($item == $_POST['term']) {
        // do something
    }
}
?>