[英]Defining an array within a class in php
我在PHP中有以下数组
$criteria = array();
$criteria['x'] = array();
$criteria['y'] = array();
$criteria['z'] = array();
我也有一个用属性xyz在php中定义的类
$screenerItem = new \StdClass();
$screenerItem->xyz =0;
如何使数组$ criteria成为我的screenerItem类属性的一部分?
我试过了但是没用,有人可以帮我知道这个语法有什么问题吗:
$screenerItem->$criteria = array();
$screenerItem->$criteria['x'] = array();
$screenerItem->$criteria['y'] = array();
$screenerItem->$criteria['z'] = array();
正如@Nahid所建议的,您可以在构造函数中填充类的属性。 另一种方法(如果您的课程属性是公共的)是:
$criteria_array = array(/* your array here */);
$screenerItem->criteria = $criteria_array;
// Notice that I don't use $ in front of criteria as it's class property.
当然,您的尝试也是合法的:
// Once again no $ before criteria
$screenerItem->criteria = array();
$screenerItem->criteria['x'] = array();
尝试这个
class MyClass{
public $criteria=array();
function __construct(){
$this->criteria=array(
'x'=>array(),
'y'=>array(),
'z'=>array()
);
}
}
$screenItem=new MyClass;
或者您可以使用此约定
class MyClass{
public $criteria=array();
function __construct($array){
$this->criteria=$array;
}
}
$data=array(
'x'=>array(),
'y'=>array(),
'z'=>array()
);
$screenItem=new MyClass($data);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.