0

以下是我的代码,其中我只面临一个困难,当我运行以下脚本时,由于比较失败,$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";
4

3 回答 3

3

return终止当前执行的代码块并“返回”到调用该代码的任何内容。如果您在代码的顶层执行 return,它本质上是一个exit()调用,并且您的 echo 将永远无法到达。

于 2012-11-27T16:44:15.473 回答
0

你需要echoreturn. return将执行返回给调用函数,因此之后的任何代码都不会被执行。

 if (!preg_match("/$word/i", $search_in)) {
  $flag = 1;
  echo $flag;
  echo "Comparison Failed"; 
  return false;
 }
于 2012-11-27T16:47:08.303 回答
0

为什么不在echo $flagreturn 语句之前放一个?

if (!preg_match("/$word/i", $search_in)){
  echo $flag
  return false;
}
于 2012-11-27T16:44:47.720 回答