Php 如何修复参数必须是数组或实现可数的对象?

Php 如何修复参数必须是数组或实现可数的对象?,php,smarty,smarty3,Php,Smarty,Smarty3,我有一张用Smarty做的表格。在我提交表单之后,我收到了这个消息,我正在运行PHP7.2。我知道这是一个常见的问题 以下是我的表单验证中的一行代码,它给出了错误: if(!count( $_SESSION['err'] ) > 0 ) 我在表单HTML中遇到了类似的问题,解决方案是chage: <?php if count($_smarty_tpl->tpl_vars['Transaction']->value) > 0) 什么是变量转储($\u会话['err

我有一张用Smarty做的表格。在我提交表单之后,我收到了这个消息,我正在运行PHP7.2。我知道这是一个常见的问题

以下是我的表单验证中的一行代码,它给出了错误:

if(!count( $_SESSION['err'] ) > 0 )
我在表单HTML中遇到了类似的问题,解决方案是chage:

<?php if count($_smarty_tpl->tpl_vars['Transaction']->value) > 0)

什么是
变量转储($\u会话['err'])给你?你在第二个例子中做得对。简单地说,对于PHP7,在计数时必须检查变量是数组还是对象。如果您试图访问
$\u会话['err']
,也会得到一个错误,因为它没有设置。所以只需添加
if(is_数组($\u会话['err'])和&!count($\u会话['err'])>0即可
<?php if (is_array($_smarty_tpl->tpl_vars['Transaction']->value) && count($_smarty_tpl->tpl_vars['Transaction']->value) > 0)