我在php中有以下数组
$criteria = array();
$criteria['x'] = array();
$criteria['y'] = array();
$criteria['z'] = array();
我还在php中使用属性xyz
定义了一个类 $screenerItem = new \StdClass();
$screenerItem->xyz =0;
如何将我的数组$条件作为我的screenerItem类属性的一部分?
我尝试了这个但是没有用,有人可以帮助我知道这种语法有什么问题:
$screenerItem->$criteria = array();
$screenerItem->$criteria['x'] = array();
$screenerItem->$criteria['y'] = array();
$screenerItem->$criteria['z'] = array();
答案 0 :(得分:2)
正如@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();
答案 1 :(得分:1)
试试这个
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);