首页 >后端开发 >php教程 >为什么这段代码没效果

为什么这段代码没效果

WBOY
WBOY原创
2016-06-06 20:18:271522浏览

<code><?php if ($_GET['cate']==''||$_GET['cate']='diary' ) {
echo '<a class="is" href="?cate=diary">DIARY<a href="?cate=blog">BLOG</a>';
} elseif ($_GET['cate']='blog') {
echo '<a href="?cate=diary">DIARY</a><a class="is" href="?cate=blog">BLOG</a>';
} 
?></code>

不管为cate设置什么值都输出<a class="is" href="?cate=diary">DIARY</a><a href="?cate=blog">BLOG</a>

回复内容:

<code><?php if ($_GET['cate']==''||$_GET['cate']='diary' ) {
echo '<a class="is" href="?cate=diary">DIARY<a href="?cate=blog">BLOG</a>';
} elseif ($_GET['cate']='blog') {
echo '<a href="?cate=diary">DIARY</a><a class="is" href="?cate=blog">BLOG</a>';
} 
?></code>

不管为cate设置什么值都输出<a class="is" href="?cate=diary">DIARY</a><a href="?cate=blog">BLOG</a>

<code class="php"><?php if ($_GET['cate']==''||$_GET['cate']=='diary' ) {
echo '<a class="is" href="?cate=diary">DIARY<a href="?cate=blog">BLOG</a>';
} elseif ($_GET['cate']=='blog') {
echo '<a href="?cate=diary">DIARY</a><a class="is" href="?cate=blog">BLOG</a>';
} 
?></code>

== 符号写错了

$_GET['cate']================='diary'

粗心的小明, if条件第二个表达式永远为真 elseif的条件也是。

粗心的小明死在了==上了

你以后写 逻辑表达式的时候,养成把期望值放在前面的习惯,这样,你不小心把==打成=的时候,就会报错。个人认为编码风格可以参考CI框架的,他的文档上面会有说明

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn