PHP函数返回匹配或不匹配

PHP函数返回匹配或不匹配,php,boolean,match,Php,Boolean,Match,我是PHP新手,正在尝试编写一个简单的函数,该函数接受两个变量,如果变量相同,则返回字符串“match”,如果变量不同,则返回“no_match”。又是编程新手,所以提前感谢 执行此操作不需要函数: $result = ($var1 === $var2) ? "match" : "no_match"; 但如果你坚持: function matches($var1, $var2, $strict = false) { return ($strict ? $var1 === $var2 :

我是PHP新手,正在尝试编写一个简单的函数,该函数接受两个变量,如果变量相同,则返回字符串“match”,如果变量不同,则返回“no_match”。又是编程新手,所以提前感谢

执行此操作不需要函数:

$result = ($var1 === $var2) ? "match" : "no_match";
但如果你坚持:

function matches($var1, $var2, $strict = false) {
   return ($strict ? $var1 === $var2 : $var1 == $var2) ? "match" : "no_match"
}
用法:

$v1 = 1;
$v2 = "1";

var_dump(matches($v1, $v2)); //match
var_dump(matches($v1, $v2, true)); //no_match

$v1 = "1";

var_dump(matches($v1, $v2, true)); //match

我倾向于建议你看一下手册中的章节和其他章节。问这样的问题是可以的,但了解基础知识将极大地加快学习过程。尝试
返回(($strict)?$one===$two:$one===$two)?“匹配”:“不匹配”比我在PHP中看到的要多得多。;-)太易读了?可读性不是一件好事吗?嵌套三元运算符既令人困惑又危险。。我也选择把它留给一个新的人,以免混淆他们。
/**
 * Compare two values for equality/equivalence
 * @param mixed
 * @param mixed
 * @param bool compare equivalence (types) instead of just equality
 * @return string indicating a match
 */
function compare($one, $two, $strict = false) {
   if ($strict) {
      $compare = $one === $two;
   }
   else {
      $compare = $one == $two;
   }
   if ($compare) {
      return 'match';
   }
   else {
      return 'no_match';
   }
}