$username = ''
为什么要这样写呢?直接写$username不行吗?我看有时还赋值为数组$username =[]
这样做有什么用呢?
public function __construct($username = '')
{
$this->username = $username;
}
$username = ''
为什么要这样写呢?直接写$username不行吗?我看有时还赋值为数组$username =[]
这样做有什么用呢?
public function __construct($username = '')
{
$this->username = $username;
}
$username = ''
是$username
的默认参数,可以使用new User()
或new User('abc')
来给User
类的$username
属性赋值$username = []
是一种好的习惯,对$username
进行初始化,参见手册PHP基础,初始化变量
<?php
function test($res){
$ret = [];
if($res){
$ret = [1,2,3];
}
return $ret;
}
function test2($res){
if($res){
$ret = [1,2,3];
}
return $ret;
}
var_dump(test(false));
var_dump(test2(false));
2 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答862 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答920 阅读
1 回答903 阅读
1 回答833 阅读
题主问题按我理解可以分为两个问题
1.$username = ''为什么要这样写呢?
这样写的目的在于给$username一个默认值,请看下面的例子
2.不给默认值,直接写$username不行吗?
当然可以,不过需要注意一个问题,就是初始化上例中example类的时候必须传参,不然PHP会报缺少参数的提示。