【发布时间】:2014-05-02 10:21:51
【问题描述】:
我有一个数据库,每个条目包含几位信息。我使用 while 语句循环遍历每一个并显示我所谓的“绘图”,这将是一个数字,每个条目可以包含多个绘图 EG 111、222、333
我需要做什么我有 while 语句(或另一种可能更适合的方法)来检查每个条目所包含的绘图编号是否包含在我设置的数组中,然后显示这些信息 例如:
while ($row = mysqli_fetch_array($aa, MYSQLI_ASSOC)) {
$plotsTotal1 = explode(" ", $row['exoutdoorspaceplottotals']);
$plotsTotal2 = array_filter($plotsTotal1);
//this gets info from DB. an example of the data would be:
//$plotsTotal2 = array(111, 555);
$test = array(111, 465, 555, 666, 777);
if (count(array_intersect($plotsTotal2, $test)) > 0) {
echo 'something'; <br/>
}
}
所以 $plotsTotal2 是 3 个数组的组合。
例如,如果我有 3 个条目,则 while 语句将循环。 条目一有地块,111、222、465 条目二有地块,666、123、412 条目三有地块,000, 999
while 循环应该显示一些信息(可能是每个条目的名称和绘图),因此结果将是:
输入一 111,222,465 条目二 666、123、412
(条目三没有匹配的数字,因此没有显示任何内容)
任何帮助,希望我能解释这一切。
伊恩
【问题讨论】:
-
有点不清楚您要完成什么。你能把这段代码简化成一个非常小的例子吗? (仅需要证明您的问题。看看sscce.org)
-
array_filter 需要一个函数,该函数为您要保留的每个元素返回 true。还是您只是过滤掉 0 个值?
标签: php arrays if-statement while-loop