1. 模板 > 内置标签 > 比较标签
控制器:
$_data['list'] = [ 'dingo' , 'engo' , 'fengo' , 'gingo' , 'autoFill'=>'jingo'] ;
$this->assign($_data);
视图模板: 
{{foreach item="item" name="list" key="k"}}
{{if condition = "$k neq 'autoFill'"}}
    {{$item}}
{{/if}}
{{/foreach}}
输出结果: engo , fengo , gingo
缺少了 dingo 。
查看缓存中生成的 PHP 代码,发现使用 "neq" 对应的是 " != " ;
使用 "nheq" 对应的是 " !== " 。
最终,我自己写了一段 PHP 原生代码来进行测试,代码如下:
<?php
 $arr = ['dindo' , 'kingo' , 'gingo' , 'qingo' , 'autoFill'=>'winwo'];
 
 foreach($arr as $key => $val) {
 
       if($key !== 'autoFill') { // !=
   
             echo $key.'-<h3>'.$val.'-</h3>';
        }
 }
// 输出结果:dingo , kingo , gingo , qingo
echo '<hr />';
 foreach($arr as $key => $val) {
 
       if($key != 'autoFill') { // !=
   
             echo $key.'-<h3>'.$val.'-</h3>';
        }
 }
 
// 输出结果:kingo , gingo , qingo
?>
总结:原因可能是出于 PHP 的( != )比较运算符有问题,在比较 0 与字符串时,会出现问题。建议尽量使用 " !== "。
!= , PHP 官方手册说明是比较值,不比较数据类型。
!== , PHP 官方手册说明是比较值与数据类型。

[ThinkPHP] 比较标签 neq&nheq 与 PHP 中的 != 与 !== 出现的问题的更多相关文章

  1. thinkphp <volist>标签中 <if> 判断的写法

    thinkphp <volist>标签中 <if> 判断的写法 <volist name="data" id="vo"> & ...

  2. thinkphp if标签

    1.thinkphp框架中的if标签,用于html页面中.在html中编写php代码 1).从控制器中得到数据在循环中if else 判断:<volist name="system_r ...

  3. thinkphp在前端页面的js代码中可以使用 U方法吗? 可以使用模板变量如__URL__等吗?

    thinkphp在前端页面的js代码中可以使用 U方法吗? : 可以的! tp的U方法, 是"全局的", 什么是全局的? 就是, 可以在 "任何地方"使用的: ...

  4. dedecms5.7文章页的标签随机插入到内容中并且标签的地址为其标签关联的其他文章地址

    dedecms5.7文章页的标签随机插入到内容中并且标签的地址为其他标签关联的文章地址 1 添加2个自定义函数 在dede/include/extend.func.php底部 添加如下代码 //根据文 ...

  5. template标签就相当于React中的fragment

    template标签就相当于React中的fragment

  6. thinkphp ASSIGN标签

    ASSIGN标签用于在模板文件中赋值变量,用法如下: 直线电机厂家 <assign name="var" value="123" /> 在运行模板的 ...

  7. thinkphp volist标签中加if判断的写法

    <if condition="$vo['devstatus'] eq 1">在线<else /> 离线</if> IF标签用法 <if c ...

  8. thinkphp 比较标签

    比较标签用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法都一致,如下: <比较标签 name="变量" value="值& ...

  9. thinkphp自定义标签库

    thinkphp ~ php中 的类, 的成员变量, 本身是没有类型说明的, 那么我怎么知道它的类型呢? 或初始值呢? 通常在类定义中, 如果能给一个初始值的(对于已知简单类型的),最好给一个初始值, ...

随机推荐

  1. 手淘flexible.js框架使用和源代码讲解

    手淘框架是一个用来适配移动端的js框架,下面我们来讲解一下如何使用手淘的这套框架. 其实手淘框架的核心原理就是根据不同的width给网页中html跟节点设置不同的font-size,然后所有的距离大小 ...

  2. 黄聪:WordPress 多站点建站教程(二):后台(管理网络)设置详解,如何管理子站的用户、主题、插件、设置等功能

    建立好了子站,我们需要有个地方配置所有子站的主题.插件等功能,我们可以在后台看到 我的站点--管理网络 如下图: 在 管理网络--仪表盘 里面,我们可以创新用户和站点,也提供了查询功能. 要注意的是: ...

  3. ASP.NET 执行bat文件。

    参考代码: http://blog.csdn.net/youngivan/article/details/7722384 在VS开发环境上是 网站应用程序能够正常执行bat,在winServer服务器 ...

  4. Bootstrap-Plugin:提示工具(Tooltip)插件

    ylbtech-Bootstrap-Plugin:提示工具(Tooltip)插件 1.返回顶部 1. Bootstrap 提示工具(Tooltip)插件 当您想要描述一个链接的时候,提示工具(Tool ...

  5. php soap实例讲解

    一,什么是soap,什么是wsdl,为什么要用他们 SOAP是基于XML和HTTP通信协议,xml各种平台,各种语言都支持的一个种语言.http呢它得到了所有的因特网浏览器及服务器的支持. WSDL ...

  6. httpclient pool帮助类

    摘自爬虫类  用于频繁请求减少网络消耗 import java.io.IOException; import java.io.InterruptedIOException; import java.i ...

  7. 不用写代码就能实现深度学习?手把手教你用英伟达 DIGITS 解决图像分类问题

    2006年,机器学习界泰斗Hinton,在Science上发表了一篇使用深度神经网络进行维数约简的论文 ,自此,神经网络再次走进人们的视野,进而引发了一场深度学习革命.深度学习之所以如此受关注,是因为 ...

  8. django-常用过滤器

    django常用过滤器 add :字符串相加,数字相加,列表相加,如果失败,将会返回一个空字符串. default:提供一个默认值,在这个值被django认为是False的时候使用.比如:空字符串.N ...

  9. TLS协议扫盲(握手,非对称加密,证书,电子签名等)

    想学习TLS协议最好的方法应该是去看RFC,但如果对安全传输协议没有一些基本认识的人很难一上来就读懂RFC里面的种种细节和设计原则,所以这里为了能够进一步去弄懂TLS协议,把一些基本的知识放在这里,算 ...

  10. 【C#】串口操作实用类

    做工业通 信有很长时间了,特别是串口(232/485),有VB/VC/C各种版本的串口操作代码,这些代码也经过了多年的现场考验,应该说是比较健壮的代码,但 是目前却没有C#相对成熟的串口操作代码,最近 ...