如果单击某个链接查看证书列表,则会出现错误。在某些系统中,它工作正常。我使用相同的代码测试了大约3-4个系统。它工作正常,但在一个系统中,它不工作。
这是我在计数时遇到问题的代码
<?php
if (count(@$certificate_attachments)>0) {
foreach ($certificate_attachments as $cert_key => $cert_val) {
if ((strpos($cert_val, ".png")) || (strpos($cert_val, ".jpg")) || (strpos($cert_val, ".jpeg"))) {
?>
<div class="col-md-3">
<a href="<?php echo ATTACHMENTS_PATH; ?>certificates/<?php echo $profileInfo['email_id']; ?>/<?php echo $cert_val; ?>" title="Certificates" class="thickbox ">
<img height="100" width="100" class="certif" src="<?php echo ATTACHMENTS_PATH; ?>certificates/<?php echo $profileInfo['email_id']; ?>/<?php echo $cert_val; ?>" />
</a>
</div>
<?php
} else {
?>
<div class="col-md-3">
<a href="#TB_inline?height=800&width=500&inlineId=pdfContent<?php echo $cert_key; ?>" title="" class="thickbox">
<img height="100" width="100" src="<?php echo $this->config->item('img_path_portal_doctor'); ?>pdf-icon.png" class="">
</a>
</div>
<div id="pdfContent<?php echo $cert_key; ?>" style="display: none;">
<p>
<object type="application/pdf" width="600" height="500" frame-resize data="<?php echo ATTACHMENTS_PATH; ?>certificates/<?php echo $profileInfo['email_id']; ?>/<?php echo $cert_val; ?>">
<embed src="<?php echo ATTACHMENTS_PATH; ?>certificates/<?php echo $profileInfo['email_id']; ?>/<?php echo $cert_val; ?>" type="application/pdf" />
</object>
</p>
</div>
<?php
}
}
} else {
?>
Not provided any Certificates.
<?php
}
?>
</div>
获取此错误:
遇到一个PHP错误
严重性:警告
Message:count():参数必须是数组或实现可计数的对象
文件名:doctor/profile.php
电话号码:533
但它工作在良好的系统中,我正在使用相同的代码在另外2-3个系统中工作和测试,它也工作良好,但当客户机运行此代码时,它在客户机系统中遇到了这个问题。
正如其他人所指出的,请不要使用@,它实际上是一个错误抑制操作符,它会隐藏像这样的错误。因为从原始代码中删除@会导致“undefined variable”变量警告。我建议您追溯到定义变量$certificate\u attachments的位置,并检查它是如何定义的。它可能被定义在范围之外,可能是一个条件语句,它可以解释为什么它与某些系统而不是其他系统一起工作。下面是一个超出范围的简单示例;
// pseudo code to demonstrate out of scope
$results = data_queried_from_database_or_something();
if(!empty($results)) {
// define attachments only if we get results
$certificate_attachments = $results;
}
// For systems that have no attachments, calling $certificate_attachments
// will result in "undefined variable" error message
与其使用@符号抑制错误,不如在count()之前进行类型检查
// ensure that the variable is an array and that it has values in it.
if(is_array($certificate_attachments) && count($certificate_attachments) > 0)
{
// your code goes here
}
查看定义$certificate_attachments的代码以及了解代码成功运行和失败的不同情况会很有帮助。
您好,抱歉,如果dublicate,但我不知道如何修复PHP 7.24上的MyBB 1.8.15错误警告[2]count():参数必须是一个数组或一个实现可数的对象-Line:906 第906行给出错误的是
PHP警告:count():参数必须是在/opt/lampp/htdocs/deingreidcht/typo3conf/ext/toctoc\u comments/pi1/class.toctoc\u comments\u pi1.PHP中实现可数的数组或对象如何解决此问题 这是我的代码,我申请了条件,
错误: Countable():参数必须是实现可数的数组或对象 错误来自\vendor\yiisoft\yii2\helpers\BaseHtml.php(第1302行) 它调用:供应商\yiisoft\yii2\Helers\BaseHtml.php(第150行) 这反过来又要求: (也在同一文件中) 问题是:这个错误的来源是什么,它是如何修复/避免的? 答案包括在内,如下所示。。。问题的原因不
我将我的Wordpress站点从PHP 5.6更新到7.2,并注意到更新后我的Wordpress后端出现错误。它说: 我已经包括了那一行和下面两行的代码。任何帮助都将不胜感激。
安装 让我们试着上一节课 好吧但是现在让我们尝试一个函数 现在有错误(警告)。为什么啊? 我还尝试通过composer安装phpdoc 但结果更糟 在这一点上,我想知道,这个phpdoc是一个有效的工具吗?是我不能用的吗?发生了什么?
我已经迁移到一个使用PHPV7(从我的PHPV5.4)的新服务器上,现在我的网站上显示错误。 这是返回错误的代码行: 我如何解决这个问题?