php函数echo错误的字符串

时间:2017-07-21 11:29:46

标签: php function

我对PHP很新,所以如果这个功能做得不好,请原谅我。

我有一个功能:

function socialLink($sm_type = NULL) {
   if ($sm_type = 'twitter') {
     echo 'https://www.twitter.com';
   } else {
     echo 'https://www.facebook.com';
   }
}

在我调用函数socialLink('facebook');的代码中,它回显了Twitter的URL。

肯定会回应Facebook网址,因为$sm_type等于'facebook'而不是twitter

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:5)

使用此设置if条件,

function socialLink($sm_type = NULL) {
   if ($sm_type == 'twitter') {
     echo 'https://www.twitter.com';
   } else {
     echo 'https://www.facebook.com';
   }
}

请参阅this

答案 1 :(得分:3)

function socialLink($sm_type = NULL) {

   if ($sm_type == 'twitter') {
     echo 'https://www.twitter.com';
   } else {
     echo 'https://www.facebook.com';
   }
}

注意:=用于分配值,= =用于比较值

  

== == = =

之间的差异
  • =运算符用于分配value
  • = =运算符用于仅比较values而不是datatype
  • = = =运算符用于比较values以及datatype

答案 2 :(得分:2)

您的if语句不使用比较运算符,它是赋值(=)。如需比较,请使用" =="。

if ($sm_type == 'twitter') {
     echo 'https://www.twitter.com';
} else {
    echo 'https://www.facebook.com';
}

答案 3 :(得分:2)

if ($sm_type == 'twitter') {
 echo 'https://www.twitter.com';
} else {
echo 'https://www.facebook.com';
}

在php ==中用于字符串比较,所以,在这种情况下你不能使用=为此,简单:)