MySQL/PHP/Wordpress - php result 对象包含具有函数名称的成员 - 如何取消引用


MySQL/PHP/Wordpress - php result object contains members with function names - how to dereference?

在一个普通的SQL表中,我有一个名为date1的日期字段。我有一个查询,要求 date1 字段以及该字段的月份名称和工作日,并在网页上输出原始数据......

$result = $wpdb->get_results("SELECT date1, MONTHNAME(date1), WEEKDAY(date1) FROM my_table");
echo "<pre>";
print_r($result);
echo "</pre>";

结果如下:

Array
(
    [0] => stdClass Object
        (
        [date1] => 2013-08-26
        [MONTHNAME(date1)] => August
        [WEEKDAY(date1)] => 0
    )
)

但是,如何取消引用结果的月份名称(或工作日)部分呢?

foreach($result as $i => $entry) {
    $date = $entry->date1;           // works as expected
    $m = $entry->MONTHNAME(date1);   // does not work - also as expected...
}

结果是Fatal error: Call to undefined method stdClass::MONTHNAME().

我可以使用 wordpress 选项将查询结果作为数组数组获取(并跟踪哪个索引将对应于结果的哪一部分),但是有没有办法引用恰好具有方法调用形式的变量名称并使其表现为普通对象变量?

SELECT date1, MONTHNAME(date1) AS `month`, WEEKDAY(date1) AS `week` FROM my_table

现在您可以使用$entry->month$entry->week