如何动态地写PHP对象的属性名并设置值?[duplicate]

gijlo24d  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(125)
    • 此问题在此处已有答案**:

PHP : call a METHOD dynamically(2个答案)
昨天关门了。
我用这个来设置值。

$gallery = setDateFrom('2023-01-01');

但是字段是以数组['dateFrom', 'dateTo']的形式输入的

$classKey = 'set' . ucfirst($key);
$gallery->{$classKey};

我无法向此属性添加日期。
我试过$classKey = 'set' . ucfirst($key) . "('$item')";
有人能帮帮忙吗?

mzmfm0qo

mzmfm0qo1#

您正在查找动态函数Name. https://www.php.net/call_user_func_array的调用

<?php
function setDateFrom($val) {
    return 'it works ' . $val;
}

$arr = ['dateFrom', 'dateTo'];

$fnName = "set" . ucfirst($arr[0]);
echo call_user_func_array($fnName, ['test']);

// output: it works test

相关问题