我想在PHP中使用as作为元素创建一个Object,该列表取自从类外部的函数获取的数组列表中的字段。我需要这样做,因为我必须从数据库编译数组,这个数据列表可能会改变。这可能吗? 我有一个叫做的函数:
public $classKeyword = "contratti";
public $arrayList = getDbTableStructure($classKeyword);
这个函数返回我的数组列表,我会用它来构建对象。这个函数适用于所有其他项目(不使用类),但如果我从类中调用它似乎不起作用......我正在丢失一些东西?
答案 0 :(得分:1)
就这样做:
(object) $array
答案 1 :(得分:0)
您无法调用您呼叫它的功能。这是一个语法错误。
相反,你必须在构造函数中调用它。
<?php
class MyClass {
public $classKeyword;
public $arrayList;
public function __construct() {
$this->classKeyword = "contratti";
$this->arrayList = getDbTableStructure($this->classKeyword);
}
}
?>
答案 2 :(得分:0)
对于创建动态对象,您可以考虑使用以下内容:
<?php
function getList() {
return [
'fieldName' => 'fieldValue',
// other columns
];
}
$object = new stdClass();
foreach (getList() as $fieldName => $fieldValue) {
$object->{$fieldName} = $fieldValue;
}
echo $object->fieldName . PHP_EOL;