1

你能帮我理解这段代码吗?

  $turl = get_bloginfo('home');

  if ( $lang_current == "en" OR "ru" ) {
    $location = str_replace ($turl,$turl."/".$lang_current,$location);
  }


return $location;

我不明白为什么,即使$lang_current == "ka"为什么我仍然激活 str_replace?

我希望此代码 str_replace 仅在语言为 en 或 ru 时才起作用,如果使用任何其他语言,我只需要它来返回 $location ...但这不是发生的事情!这让我发疯,因为我不明白。

4

2 回答 2

4

“ru”总是正确的......你需要把

  if ( $lang_current == "en" OR $lang_current == "ru" ) { 

或者:

  if ( in_array( $lang_current, array ( "en", "ru" ) ) ) {
于 2012-09-28T15:27:53.070 回答
3

字符串 "ru" 将评估为 1 (true),因为您没有将字符串与任何内容进行比较。本质上,您正在执行以下操作:

if ( ($lang_current == "en") OR ("ru") ) {

您需要在 OR 操作数的两侧与 $lang_current 进行比较:

if ( $lang_current == "en" OR $lang_current == "ru" ) {
于 2012-09-28T15:30:15.617 回答