【问题标题】:if else simple beginner issueif else 简单的初学者问题
【发布时间】:2011-11-10 13:47:58
【问题描述】:

大家好,

我已经用 php mysql 和 ajax 做了一个甜蜜的收藏功能,它工作得很好。现在我想在最喜欢 = 0 时显示“最喜欢”,在最喜欢 = 1 时显示“不喜欢”

    if ($favorites == 0) {
    $favorite = '<a href="#" id="' .($id). '" class="favorite_button">Favorite</a>';
}

if ($favorites == 1) {
    $unfavorite = '<a href="#" id="' .($id). '" class="unfavorite_button">unFavorite</a>';
}

并将其在行中回显为:

<div id="favorites">' .($favorite). ' ' .($unfavorite). '</div>

问题是:当 favorite = 0 时,$favorite 和 $unfavorite 都会显示。当 favorite = 1 只有 $unfavorite 正确显示。当然它应该是 $favorite 或 $unfavorite。我认为问题对您来说很清楚和简单,请协助:)

提前致谢

【问题讨论】:

  • 你能把周围的代码也贴出来吗?这应该有效。
  • 在您的描述中,您指的是favorite,但代码中的变量是$favorites。错字?请显示设置变量$favorites的代码。
  • var_dump($favorites) 会得到什么?这是否也发生在任何类型的循环中?
  • 大家,非常感谢!得到了解决方案:) 查看 Harmen 的解决方案

标签: php if-statement


【解决方案1】:

只使用一个变量更容易:

$text = ''
if ($favorites == 0) {
  $text = '<a href="#" id="' .($id). '" class="favorite_button">Favorite</a>';
} else {
  $text = '<a href="#" id="' .($id). '" class="unfavorite_button">unFavorite</a>';
}

...

echo $text;

【讨论】:

  • 非常感谢大家帮助我,Harmens 解决方案奏效了 :) 又学到了一些东西!祝你有美好的一天
【解决方案2】:

如果您想检查$favorite,您在控制语句中使用了错误的变量。此外,在第二个if 中使用elseif 而不是if 是更好的编码实践。还有一件事:管理一个结果变量更容易。

$output = "";
    if ($favorite == 0) {
    $output = '<a href="#" id="' .($id). '" class="favorite_button">Favorite</a>';
}

elseif ($favorite == 1) {
    $output = '<a href="#" id="' .($id). '" class="unfavorite_button">unFavorite</a>';
}

...

echo $output; // Or whatever you want to do with your output

【讨论】:

    【解决方案3】:

    $favorites 是整数吗?

    无论如何尝试使用三个等号 (===) 或else 而不是第二个if

    if ( $favorites === 0 )
    {
      // ...
    }
    else // or if ($favorites === 1)
    {
      // ...
    }
    

    【讨论】:

      【解决方案4】:

      你正在做一个切换,所以你只需要一个变量:

      if(empty($favourites)){
         $fav_toggle = '<a href="#" id="' .($id). '" class="favorite_button">Favorite</a>'; 
      } else {
         $fav_toggle = '<a href="#" id="' .($id). '" class="unfavorite_button">unFavorite</a>'; 
      }
      
      echo $fav_toggle;
      

      【讨论】:

        【解决方案5】:

        如果我指定 $favorites = 0;或 $favorites = 1;

        if else 也可以使用

        $favorites = 1;

        if ($favorites == 0) {
            $favorite = '<a href="#" id="' .($id). '" class="favorite_button">Favorite</a>';
        }
        
        else if ($favorites == 1) {
            $unfavorite = '<a href="#" id="' .($id). '" class="unfavorite_button">unFavorite</a>';
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-11-16
          • 1970-01-01
          • 1970-01-01
          • 2017-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多