我开始学习PHP。我写了一个类,然后在其中定义了一个数组。
<?php
/**
*
*/
class page {
public $content= "Coming soon";
public $title="Saeb Mollayi";
public $style ="<link rel=\"stylesheet\" type=\"text/css\" href=\"./style/style.css\">";
public $b = array(
"خانه" => 'homepage.php',
"ارتباط" => 'contact.php',
"خدمات" => 'services.php',
"نقشه سایت" =>'sitemap.php',
);
function displaymenu()
{
echo "<table>"."\r\n";
echo " <tr>";
$width=(100/count($b));
while (list($name,$url)= each ($b))
{
$this -> displaybuttons ($width,$name,$url, $this -> urlbool($url));
}
echo "</tr>";
echo "</table>";
}
function ncontent($newcontent)
{
$this-> content = $newcontent ;
}
function ntitle($newtitle)
{
$this -> title = $newtitle ;
}
function nbuttons($newbuttons)
{
$this -> b = $newbuttons ;
}
function display()
{
echo "<head>";
echo "\r\n";
$this -> displaytitle();
$this -> style ;
echo "</head>"."\r\n"."<body>"."\r\n";
$this -> displayheader();
$this -> displaymenu($this -> b);
echo $this -> content ;
$this -> displayfooter() ;
echo "</body>"."\r\n";
}
function displaytitle()
{
echo "<title>";
echo $this -> title ;
echo "</title>";
}
function displayheader()
{
echo '
<table id="header">
<tr id="header">
<td id="lheader"><img src="./img/logo1.png"></td>
<td id="cheader"> Welocme. Welcome! </td>
<rd id="rheader"><img src="./img/logo1.png"></td>
</tr>
</table>
';
}
function urlbool($url)
{
if (strpos($_SERVER['SCRIPT_NAME'],$url)==false)
return false;
else return true;
}
function displaybuttons($width,$name,$url,$active=false)
{
if (!active) {
echo "<td \" style =\"width=$width% ;\">
<a href ='$url'>
<img src=\".\img\top.png \" alt='$name' border='0'></a>
<a href='$url' ><span class='menu'>$name</span></a>
</td>";
} else {
echo "
<td style='width=$width%'>
<img src='./img/right.png'>
<span class='menu'>$name</span>
</td>";
}
}
function displayfooter()
{
echo "© footer";
}
}
?>
这是我的index.php文件:
<html>
<?php
require "./class/page0.inc";
$cc = array(
'خانه' => 'homepage.php',
'ارتباط' => 'contact.php',
'خدمات' => 'services.php',
'نقشه سایت' =>'sitemap.php',
);
$ppage = new page();
$ppage-> nbuttons(array(
'خانه' => 'homepage.php',
'ارتباط'=> 'contact.php',
'خدمات' => 'services.php',
'نقشه سایت' =>'sitemap.php',
));
$ppage -> ncontent('this is content'."<br>");
$ppage -> display();
?>
</html>
但是当我运行它时,我看到了这些错误:
注意:未定义的变量:b in 第14行/opt/lampp/htdocs/all/test3/class/page0.inc
警告:除以零 第14行/opt/lampp/htdocs/all/test3/class/page0.inc
警告:传递给each()的变量不是数组或对象 第15行/opt/lampp/htdocs/all/test3/class/page0.inc
我做错了什么?我的错是什么?
答案 0 :(得分:2)
人类可读错误的文字,意思是:
如果您在课程中有变量$ b,请使用$ this-&gt; b代替访问它。
答案 1 :(得分:1)
我不知道是不是因为在复制/粘贴中出现了问题,但编辑帖子时发现有很多语法错误。
首先,对象函数调用中的那些空格,其中有不必要的空格。
箭头不应包含$this -> displaymenu($this -> b);
之类的空格,必须为$this->displaymenu($this->b);
。
此外,必须使用$b
引用$this->b
,这就是为什么会出现关于除以零的错误。