PHP错误求助(在线等答案)

PHP错误求助(在线等答案)

先看下错误信息吧

[复制到剪切板]
CODE:
Warning1Missing argument 1 for page::DisplayMenu(), called in D:\AppServ\www\page.php on line 23 and defined in D:\AppServ\www\page.php on line 93

Warning2
Division by zero in D:\AppServ\www\page.php on line 98

Warning3
Invalid argument supplied for foreach() in D:\AppServ\www\page.php on line 99 ;

下面是代码

[复制到剪切板]
CODE:
93    function DisplayMenu($buttons)
        
94    {
        
95        echo"<table width='100%' bgcolor='white' cellspacing='4' cellpadding='4'>\n";
        
96        echo"<tr>\n";
        
97        //计算按纽的大小
        
98        $width=100/count($buttons);
        
99        foreach($buttons as $name=>$url)
                     {
                    
$this->DisplayButton($width,$name,$url,!$this->IsUrlCurrentPage($url));
                }
                 echo
"</tr>\n";
                 echo
"</table>\n";
            } ;


以上代码是page类中的一部分


调用这个类的代码

[复制到剪切板]
CODE:
<?php
    
require('page.php');
    
$homepage=new page();

    
$homepage->content='<p>nnnnnnnn</p><p>nnnnnnnnnnnnnn</p>';
    
$homepage->Display();
?> ;


原来第23行有代码$this->DisplayMenu();当改为$this->DisplayMenu($buttons)时WARNING1解决;当改为$this->DisplayMenu($this->buttons)时全部warning解决,但是我不明白以上的错误,懂的给我一个解释可以吗?

主要是这几个warning的解释

[ 本帖最后由 blankyao 于 2007-7-27 16:20 编辑 ]

warning1已解决,原因是function DisplayMenu有形参,实例化的时候没有给参数.其他两个呢>谁能帮我看下?

怎么没有说话的呢??

count($buttons);
这个是0了。0不能做除数。
$buttons很可能不是一个数组,所以提示你的foreach参数不对
毕业了。。。

老大说对了,$button是一数组,前面有一个调用参数得是$this->button才对,不然的话,就会有上面warning,因为count在function DisplayMenu($buttons)里面。。。