365bet体育|www.635288com-365体育手机在线

热门关键词: 365bet体育,www.635288com,365体育手机在线

使用 "nheq" 对应的是 "

2019-07-11 作者:365bet体育   |   浏览(190)
  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 官方手册说明是比较值与数据类型。


本文由365bet体育发布于365bet体育,转载请注明出处:使用 "nheq" 对应的是 "

关键词: