【问题标题】:array_key_exists() expects parameter 2 to be arrayarray_key_exists() 期望参数 2 是数组
【发布时间】:2015-06-02 13:44:22
【问题描述】:

我的 Wordpress 页面 (yarnhk.com) 出现以下几行:

警告:array_key_exists() 期望参数 2 为数组、字符串 给出 /home/yarnhrnm/public_html/wp-content/plugins/fusion-core/shortcodes/class-fullwidth.php 在第 482 行

警告:array_key_exists() 期望参数 2 为数组、字符串 给出 /home/yarnhrnm/public_html/wp-content/plugins/fusion-core/shortcodes/class-fullwidth.php 在第 483 行

fullwidth.php 文件第 482 & 483 行显示如下:

if ( ( array_key_exists( 'backgroundattachment', $args ) 
   && $args['backgroundattachment'] == 'scroll' ) 
   || ( array_key_exists( 'background_attachment', $args ) 
   && $args['background_attachment'] == 'scroll' )

这里有什么帮助吗?

【问题讨论】:

  • 这个输出是什么:var_dump($args);
  • 这个页面应该是:yarnhk.com/home-3
  • 致 tunananh,对不起,我不太明白你的意思....
  • $args 需要是一个数组。它是一个数组吗? array_key_exists() expects parameter 2 to be array - 它就在那里告诉你。机会是(问题),$args 不是数组。把@tuananh 给你的代码放在你在问题中提供的代码下面,告诉我们它返回什么
  • 错误很清楚:你必须提供一个数组,而不是

标签: php wordpress array-key-exists


【解决方案1】:

参数2为数组,给定字符串

错误消息说,您的 $args 不是数组而是普通字符串。查找变量的定义(当然还有任何意外覆盖)。

你应该使用var_dump($args);来输出$args的类型和值。

【讨论】:

  • 是不是这个意思:if ( ( array_key_exists( 'backgroundattachment', var_dump($args); ) && $args['backgroundattachment'] == 'scroll' ) || ( array_key_exists( ' background_attachment', var_dump($args); ) && $args['background_attachment'] == 'scroll' ) )
【解决方案2】:

最后,我用以下代码做到了:

if( is_array($args) && ( array_key_exists( 'backgroundattachment', $args ) && $args['backgroundattachment'] == 'scroll' ) || is_array($args) && ( array_key_exists( 'background_attachment', $args ) && $args['background_attachment'] == 'scroll' )) { 
    // Something
}

完成!

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多