PHP错误:为foreach()提供的参数无效

时间:2015-11-22 23:43:13

标签: php wordpress foreach

我正在尝试在插件的主PHP文件底部使用此函数来确定其操作挂钩之一是否被指定的标记使用。但是,我在下面的代码中的第二个foreach上收到了“警告”。为什么是这样?有没有更好的方法来查看是否正在使用Wordpress动作挂钩?

<?php
function dump_hook($tag, $hook)
{
    ksort($hook);

    echo "<pre>>>>>>\t$tag<br>";

    foreach ($hook as $priority => $functions) {

        echo $priority;

        foreach ($functions as $function) {
            if ($function['function'] != 'list_hook_details') {

                echo "\t";

                if (is_string($function['function']))
                    echo $function['function'];

                elseif (is_string($function['function'][0]))
                    echo $function['function'][0] . ' -> ' . $function['function'][1];

                elseif (is_object($function['function'][0]))
                    echo "(object) " . get_class($function['function'][0]) . ' -> ' . $function['function'][1];

                else
                    print_r($function);

                echo ' (' . $function['accepted_args'] . ') <br>';
            }
        }
    }

    echo '</pre>';
}

$tag = array('anspress_loaded');
$hook = array('find_do_for_anspress');

dump_hook($tag, $hook);

1 个答案:

答案 0 :(得分:0)

代码中的一些错误:

1。)[L]是数组,但在你的函数中它被用作字符串:

<meta property="og:title" content="Online Advertising"/>
<meta property="og:image" content="https://nextlocal.ca/img/logo320.jpg"/>
<meta property="og:site_name" content="NextLocal"/>
<meta property="og:description" content="NextLocal's advertising produces long-lasting results and comes with a guarantee, making it a great investment for your business."/>

2。)$tag是数组,所以第一个foreach工作正常:

<?php 
echo "<pre>>>>>>\t$tag<br>";

接下来,您尝试使用字符串$hook进行foreach,但它无法实现,因此php会告诉您上述错误。