返回false不允许回显

时间:2012-11-27 16:42:05

标签: php

以下是我的代码,其中我只面临一个困难,当我运行以下脚本然后由于比较失败,$ flag不响应,请让我知道如何解决这个问题?

$s = "iph4on comes";
$se = "4gb comes in iphone";
$f = 0;

$tf = explode(" ",$searching);
$ms= explode(" ",$search_in);
foreach($tf as $word)
{
if (!preg_match("/$word/i", $search_in))
//if (!strpos($search_in, $word));
return false;
}
{
$f = 1;
}
echo $f;

//Due to return flase above i am not echoing
echo "Comparison Failed";

3 个答案:

答案 0 :(得分:3)

return终止当前正在执行的代码块,并“返回”任何调用该代码的代码。如果你在代码的顶层执行一个返回,它实际上是一个exit()调用,你的回声永远不会到达。

答案 1 :(得分:0)

为什么不在return语句之前放一个echo $flag

if (!preg_match("/$word/i", $search_in)){
  echo $flag
  return false;
}

答案 2 :(得分:0)

您需要将echo放在return之前。 return将执行返回给调用函数,因此之后的任何代码都不会被执行。

 if (!preg_match("/$word/i", $search_in)) {
  $flag = 1;
  echo $flag;
  echo "Comparison Failed"; 
  return false;
 }