动态创建使用数组列表的PHP对象

时间:2014-10-24 13:17:19

标签: php object

我想在PHP中使用as作为元素创建一个Object,该列表取自从类外部的函数获取的数组列表中的字段。我需要这样做,因为我必须从数据库编译数组,这个数据列表可能会改变。这可能吗? 我有一个叫做的函数:

public $classKeyword = "contratti";
public $arrayList = getDbTableStructure($classKeyword);

这个函数返回我的数组列表,我会用它来构建对象。这个函数适用于所有其他项目(不使用类),但如果我从类中调用它似乎不起作用......我正在丢失一些东西?

3 个答案:

答案 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;