(PHP)通过循环声明类属性
我想使用循环在类内创建属性(PHP)通过循环声明类属性,php,Php,我想使用循环在类内创建属性 class Example { for( $i=0; $i<5; $i++ ) { public $num . $i; } } 类示例 { 对于($i=0;$i您可以做的是在类的 class Example{ public function __construct(){ for($i=0; $i<5; $i++) $this->{'nu
class Example
{
for( $i=0; $i<5; $i++ )
{
public $num . $i;
}
}
类示例
{
对于($i=0;$i您可以做的是在类的
class Example{
public function __construct(){
for($i=0; $i<5; $i++)
$this->{'num' . $i} = $i;
}
}
这将为您提供如下对象:
object(Example)#1 (5) {
["num0"]=>
int(0)
["num1"]=>
int(1)
["num2"]=>
int(2)
["num3"]=>
int(3)
["num4"]=>
int(4)
}
您可以做的是在类的
class Example{
public function __construct(){
for($i=0; $i<5; $i++)
$this->{'num' . $i} = $i;
}
}
这将为您提供如下对象:
object(Example)#1 (5) {
["num0"]=>
int(0)
["num1"]=>
int(1)
["num2"]=>
int(2)
["num3"]=>
int(3)
["num4"]=>
int(4)
}
您所做的是错误的sytax。除了方法或属性声明之外,您不能在类中直接拥有任何内容。
要创建动态属性,请执行以下操作
像这样的()
您所做的是错误的sytax。除了方法或属性声明之外,您不能在类中直接拥有任何内容。
要创建动态属性,请执行以下操作
像这样的()
您可以使用构造函数来实现这一点:
class Example
{
public function __Construct(){
for( $i=0; $i<5; $i++ )
{
public $this->{'num' . $i};
}
}
}
类示例
{
公共函数构造(){
对于($i=0;$i{'num'.$i});
}
}
}
在构造函数中,您可以执行该操作
实现这一目标的另一种方法是:
class Example
{
public $num = array();
public function fun(){
for( $i=0; $i<5; $i++ )
{
$this->num[$i] = 'value';
}
}
}
类示例
{
public$num=array();
公共活动{
对于($i=0;$inum[$i]='value';
}
}
}
将变量作为数组。您可以使用构造函数来实现这一点:
class Example
{
public function __Construct(){
for( $i=0; $i<5; $i++ )
{
public $this->{'num' . $i};
}
}
}
类示例
{
公共函数构造(){
对于($i=0;$i{'num'.$i});
}
}
}
在构造函数中,您可以执行该操作
实现这一目标的另一种方法是:
class Example
{
public $num = array();
public function fun(){
for( $i=0; $i<5; $i++ )
{
$this->num[$i] = 'value';
}
}
}
类示例
{
public$num=array();
公共活动{
对于($i=0;$inum[$i]='value';
}
}
}
将变量作为数组。规则#1不给变量编号;如果你有编号的变量,那么你可能应该使用数组而不是规则#2的可能副本。你的理解是完全错误的……类由函数/方法和属性组成……如果你想生成,你不能在函数/属性之外有代码首先定义属性,然后在构造函数方法代码中定义;但是您可以通过为它们赋值来定义它们,并且它们不能是除publicClass以外的任何对象,例如{public$num($i=0;$i您是否考虑过使用数组作为类成员?规则#1不为变量编号;如果您有编号的变量,那么您可能应该使用数组而不是规则#2的可能副本您的理解完全错误…类由函数/方法和属性组成…您不能在func之外使用代码选项/property…如果要动态定义属性,请在构造函数方法代码中定义;但是您可以通过为它们赋值来定义它们,并且它们不能是除publicClass以外的任何对象例如{public$num;for($i=0;$i)您考虑过将数组作为类成员吗?