gpt4 book ai didi

php - 如何使用变量名在 PHP 中创建新变量?

转载 作者:行者123 更新时间:2023-12-04 06:06:53 25 4
gpt4 key购买 nike

我正在使用 Joomla Framework 创建显示 MySQL 表中选项的组件。
因为每个选项都有很多不同的参数,所以它们被设置为 中的 json 数组。 custparams field 。

此函数根据选项 id 从每个选项中提取这些自定义参数。

JSON 数据被解码并写入 stdObject:

$_oparams=null;
function _custParamsOpt($pid)
{
$query='SELECT custparams FROM #__mycomponent_options'
.' WHERE id = '.(int)$pid;
$this->_db->setQuery( $query);
$paramdata=$this->_db->loadResult();

if (!empty($paramdata))
{
$custom=json_decode($paramdata);
foreach ($custom as $custom_params)
{
if ($custom_params->pkey=='elemvert') $this->_oparams->elemvert=$custom_params->pvalue;
if ($custom_params->pkey=='elemhor') $this->_oparams->elemhor=$custom_params->pvalue;
if ($custom_params->pkey=='minwidth') $this->_oparams->minwidth=$custom_params->pvalue;
if ($custom_params->pkey=='maxwidth') $this->_oparams->maxwidth=$custom_params->pvalue;
if ($custom_params->pkey=='minheight') $this->_oparams->minheight=$custom_params->pvalue;
if ($custom_params->pkey=='maxheight') $this->_oparams->maxheight=$custom_params->pvalue;
}
return true;
} else {
return false;
}
}

是否可以将此数据写为:
$this->_oparams->$pkey=$custom_params->pvalue;

所以我可以避免列出所有参数?

在后面的代码中,我以这种方式检查参数:
if (!empty($this->_oparams->maxheight)) $htmlout.="\t\t\t\t<input type=\"hidden\" name=\"maxheight".$rowx->id."\" id=\"maxheight".$rowx->id."\" value=\"".$this->_oparams->maxheight."\" />";

最佳答案

我相信这就是你要找的:

...
foreach ($custom as $custom_params)
$this->_oparams->{$custom_params->pkey} = $custom_params->pvalue;
}
...

关于php - 如何使用变量名在 PHP 中创建新变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8256137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com