Php 如果不是简单的初学者问题

Php 如果不是简单的初学者问题,php,if-statement,Php,If Statement,大家好 我用php mysql和ajax制作了一个甜蜜的收藏夹函数,它工作得非常好。现在我想在favorite=0时显示“favorite”,在favorite=1时显示“unfavorite” if ($favorites == 0) { $favorite = '<a href="#" id="' .($id). '" class="favorite_button">Favorite</a>'; } if ($favorites == 1) {

大家好

我用php mysql和ajax制作了一个甜蜜的收藏夹函数,它工作得非常好。现在我想在favorite=0时显示“favorite”,在favorite=1时显示“unfavorite”

    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>';
}
if($favorites==0){
$favorite='';
}
如果($favorites==1){
$unfavorite='';
}
并在行中以如下方式回显:

<div id="favorites">' .($favorite). ' ' .($unfavorite). '</div>
($favorite)。“”。($unfavorite)。' 问题是:当favorite=0时,同时显示$favorite和$unfavorite。当favorite=1时,仅正确显示$unfavorite。当然,它应该是$favorite或$unfavorite。我假设问题对您来说是清楚和简单的,请协助:)


提前感谢

只使用一个变量更容易:

$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;
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;
$text=''
如果($favorites==0){
$text='';
}否则{
$text='';
}
...
echo$文本;

是一个整数吗

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

if ( $favorites === 0 )
{
  // ...
}
else // or if ($favorites === 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;
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;
if(空($favorites)){
$fav_toggle='';
}否则{
$fav_toggle='';
}
echo$fav_切换;

如果要检查
$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
$output=”“;
如果($favorite==0){
$output='';
}
elseif($favorite==1){
$output='';
}
...
echo$output;//或者你想对你的输出做什么

如果我分配$favorites=0,则相同的代码对我起作用;或$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>';
}
您还可以使用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>';
}
if($favorites==0){
$favorite='';
}
else if($favorites==1){
$unfavorite='';
}

你能把周围的代码也贴出来吗?这应该行得通。在您的描述中,您指的是
favorite
,但代码中的变量是
$favorites
。打字错误请显示设置变量
$favorites
的代码。当您
var\u dump($favorites)
时会得到什么?这是否也发生在任何循环中?各位,非常感谢!得到了解决方案:)看到哈门的解决方案非常感谢大家帮助我,哈门的解决方案成功了:)又学到了一些东西!祝你今天愉快