我有下面的代码,它检查数组中是否存在给定的键。但是,当执行此代码时,我收到此错误:
“警告:array_key_exists() 期望参数 2 为数组,给定布尔值”。我是 PHP 新手,不知道是什么原因导致此错误。
Code
$structure = imap_fetchstructure($connection, $id, FT_UID);
if (array_key_exists('parts', $structure))
{
};
为了防止有人将布尔值或 null 传递到函数中,您可以添加一个简单的检查来查看是否$structure
在使用它之前是一个数组:
if (is_array($structure) && array_key_exists('parts', $structure))
{
//...magic stuff here
}
“为什么”你的原始代码被破坏的简单答案是 imap_fetchstruct() 没有找到请求的消息并返回一个false
, null
, or 0
。文档http://php.net/manual/en/function.imap-fetchstruct.php http://php.net/manual/en/function.imap-fetchstructure.php不指示失败时返回什么,但很容易猜测。大多数返回对象但无法完成的 php 函数在失败时返回 null 或 false(当我说失败时,我并不是指错误或异常,只是无法执行或找到您要求的任何内容)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)