未定义的数组键问题和 isset 不起作用

问题描述 投票:0回答:1

这是基本问题

`<li class="li-btn">a class="custom-btn custom-btn--small custom-btn--style-4"   <? if ($user == ""){ 
  echo "href=\"xxx://www.example.com/login.php\">Member Login</a>>";
        }
elseif ($user != ""){ 
    echo "href=\"xxx://www.example.com/mycp.php\">$user</a>>";  }   ?></li>`:

工作正常,但抛出一个未定义的数组键:输出:

`<li class="li-btn"><a class="custom-btn custom-btn--small custom-btn--style-4" href="xxx://www.example.com/login.php">Member Login</a>></li>`

但是,如果我使用:

`if(isset($user) && $user == ''){
echo "href=\"xxx://www.example.com/login.php\">Member Login</a>>";`

整个页面乱了,输出是:

<li class="li-btn"> <a class="custom-btn custom-btn--small custom-btn--style-4"  </li>

除了很长的空白和格式混乱的页面之外,没有任何输出。

不知道为什么,也无法弄清楚为什么 if ($user == ""){ 有效,为什么不行 if(isset($user) && $user == ''){

感谢任何想法

php arrays key undefined isset
1个回答
0
投票

使用empty($user) 对未设置值和空值进行更安全、更简洁的检查

`<li class="li-btn">a class="custom-btn custom-btn--small custom-btn--style-4"   <? if (empty($user)) {
  echo "href=\"xxx://www.example.com/login.php\">Member Login</a>>";
        }
 } else {
    echo "href=\"xxx://www.example.com/mycp.php\">$user</a>>";  }   ?></li>`:
© www.soinside.com 2019 - 2024. All rights reserved.