【PHP】初始化是一定要用类的同名函数做构造函数吗?

我写了一段代码如下:classtable{public$x;functionweishu(){$this->x=9;}functionprint_table(){for(... 我写了一段代码如下:
class table{
public $x;
function weishu(){
$this->x=9;
}
function print_table(){
for($i=1;$i<=$this->x;$i++){
for($j=1;$j<=$i;$j++){
echo $j."*".$i." ";
}
echo "<br>";
}
}
}

$table1=new table;
$table1->print_table();
在初始化$x是我用的是function weishu(),结果就没用,改成function table()就可以了,为甚么?
展开
 我来答
直男救星来了
2011-05-03 · TA获得超过673个赞
知道小有建树答主
回答量:168
采纳率:100%
帮助的人:202万
展开全部
PHP中类的初始化有两种方式,一种是像你所说的同名函数做构造函数,另外一种则是定义__construct()(前面两个下划线_)做构造函数,这两者除了函数名称不一样外,其它没什么区别,都是用来初始化类的。但建议用后者,原因是如果使用了同名函数做构造函数,当类名发生改变,相应的构造函数名也要改变。而__construct被默认作为当前类的构造函数
xhq6632
2011-05-03 · TA获得超过246个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:171万
展开全部
你这个是兼容写法,如果按照最新写法,可以不用。
你只需要把初始化的那个函数的名字写成
php4是这样的
php5也可以这样,但是多了一种方法,就是写一个名叫__construct代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九能学长
2011-05-03 · TA获得超过240个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:198万
展开全部
楼上正解 这种带下划线的函数php成为魔术方法 有很多种 值得研究~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式