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 に答える