在php中调用函数时遇到问题

在php中调用函数时遇到问题,php,function,Php,Function,当我尝试调用我创建的函数时,它不会输出任何东西。如果我直接插入函数代码,它可以正常工作,但调用函数时,屏幕上不会显示任何内容 <?php function MRYMENUCALL() { echo '<div class="menu_column Left">'; foreach ($Menuitems as $Menuitem) { if ($Menuitem['Menu'] == 1) {

当我尝试调用我创建的函数时,它不会输出任何东西。如果我直接插入函数代码,它可以正常工作,但调用函数时,屏幕上不会显示任何内容

<?php
    function MRYMENUCALL() {
        echo '<div class="menu_column Left">';
        foreach ($Menuitems as $Menuitem) {
            if ($Menuitem['Menu'] == 1) {
                if ($Menuitem['Column'] == 0) {
                    echo '<div class="menu_item" id="'
                        . $Menuitem['id']
                        . '" onmouseover="menu_expand(this.id);"><div class="menu_name Left">'
                        . $Menuitem['Name']
                        . '</div><div class="menu_price Right">'
                        . $MenuItem['Price']
                        . '</div><div class="menu_details Left" id="'
                        . $Menuitem['id']
                        . '"><div class="menu_description Left">'
                        . $Menuitem['Description']
                        . '</div>';
                    if ($Menuitem['Picture'] !=  NULL ){
                        echo '<div class="menu_picture"><img class="menu_image Right" src="/IMG/Menu/'
                            . $Menuitem['Picture']
                            . '"></div>';
                    }
                    echo '</div></div>';
                }
            }
        }
        echo '</div>';
    }

    //Left Menu
    MRYMENUCALL();
?>

$Menuitems
很可能超出此功能的范围。如果你去你的日志文件,你很可能会看到一些东西告诉你这一点。在使用它之前,您需要在该函数中定义它,或者将它作为参数传递给该函数


另外,找到php.ini文件并将
display\u errors
更改为
1
。另外,在那里设置
html\u errors
1
,然后重新启动apache。它将开始在页面上输出错误,而不是悄悄地输出到日志中。

当尝试运行代码时,您将得到()


正在工作的演示:。

您是否检查了PHP日志以查看是否有任何错误?我猜$menuitems不在函数的范围内。尝试将“global$menuitems;”作为函数的第一行。@Ben这是我的问题,非常感谢!
<div class="menu_column Left">
Warning: Invalid argument supplied for foreach() on line 4
</div>
    <?php
// you define $Menuitems somewhere
// eg. $Menuitems = array(array('Menu' => 1, 'Column' => 0, 'id' => 1, 'Name' => Asd, 'Price' => 2, 'Picture' => asd));
        function MRYMENUCALL($Menuitems) {
            echo '<div class="menu_column Left">';
            foreach ($Menuitems as $Menuitem) {
                if ($Menuitem['Menu'] == 1) {
                    if ($Menuitem['Column'] == 0) {
                        echo '<div class="menu_item" id="'
                            . $Menuitem['id']
                            . '" onmouseover="menu_expand(this.id);"><div class="menu_name Left">'
                            . $Menuitem['Name']
                            . '</div><div class="menu_price Right">'
                            . $MenuItem['Price']
                            . '</div><div class="menu_details Left" id="'
                            . $Menuitem['id']
                            . '"><div class="menu_description Left">'
                            . $Menuitem['Description']
                            . '</div>';
                        if ($Menuitem['Picture'] !=  NULL ){
                            echo '<div class="menu_picture"><img class="menu_image Right" src="/IMG/Menu/'
                                . $Menuitem['Picture']
                                . '"></div>';
                        }
                        echo '</div></div>';
                    }
                }
            }
            echo '</div>';
        }

        //Left Menu
        MRYMENUCALL($Menuitems);
    ?>