PHP foreach循环

cho*_*oco 3 php foreach

我有下面的数组示例,我用于根据表单中选中的选项动态创建SQL查询.下面的代码测试是否有值,如果是,则将其附加到数组:

if ($lookchild) { $val[]='lookchild'; }
if ($mentalcap) { $val[]='mentalcap'; }
if ($mentalheal) { $val[]='mentalheal'; }
if ($olderpeople) { $val[]='olderpeople'; }
if ($palcare) { $val[]='palcare'; }
Run Code Online (Sandbox Code Playgroud)

然后我循环遍历数组并添加其余的SQL语句:

foreach ($val as $r){
    echo $r.'=1 AND ';
}   
Run Code Online (Sandbox Code Playgroud)

这会产生:

olderpeople=1 AND palcare=1 AND lookchild=1 AND
Run Code Online (Sandbox Code Playgroud)

当循环到达最后一个条目时,我不希望它将AND附加到它,因为SQL语句需要在该点之后关闭.

我希望它如何完成:

olderpeople=1 AND palcare=1 AND lookchild=1
Run Code Online (Sandbox Code Playgroud)

Mic*_*son 10

在这些情况下,您可以使用implode

它将一个阵列"胶合"在一起.

implode(string $ glue,array $ pieces)

例:

echo implode('=1 AND ', $val);
echo '=1';
Run Code Online (Sandbox Code Playgroud)