我想使用if语句,当它与数据库中的字符串匹配时,会打印出一条消息。但是,在数据库中,如果有多个字符串计数,则会多次打印出来。有谁知道如何确保它只打印一次?非常感谢。我的代码是:
if ($value == 'America')
{
echo "Welcome";
}
答案 0 :(得分:2)
根据您提供的信息,一个解决方案是:
welcome_displayed = false;
if (welcome_displayed and $value == 'America')
{
echo "Welcome";
welcome_displayed = true;
}
答案 1 :(得分:0)
我假设你在循环中。如果是这样,我会使用break
构造:
<?php
$array = array('red', 'blue', 'yellow');
foreach ($array as $color) {
if ($color == 'blue') {
print "We found a match.";
break;
}
}
如果您只是尝试编写仅获得1个匹配项的查询,请使用DISTINCT关键字或LIMIT结果数量,或类似的结果。如果您更新了问题,我可以相应地更新我的答案。
答案 2 :(得分:0)
您还可以将任何匹配组合到一个数组中,然后使用'array_unique'来获取不同的项目。
// DEFAULTS
$matched_items = array();
$values = array('Denver', 'ABQ', '1234', 'asdfa', 'America', 'osproqr', 'America', 'iowrenvoiw', 'America');
// LOOP THROUGH EACH VALUE AND COMPARE IT AGAINST THE NEEDLE
foreach ($values AS $value) {
if ($value == 'America') {
$matched_items[] = $value;
}
}
// PRINT OUT ONLY THE UNIQUE ITEMS
print_r(array_unique($matched_items));
答案 3 :(得分:-1)
对要选择的列使用SELECT DISTINCT。
sql="SELECT DISTINCT /*table column*/ FROM /*TABLE NAME*/ WHERE /*column name*/ = America "
这将只选择列中的一行= America。