php - PHP减少函数中的重复
问题描述
我有一个基于两个条件设置类变量的函数,该变量不是区域设置的,并且在传递的数组中有匹配的键......
private function setVariable($source, $key, &$target)
{
if(!isset($target) && isset($source[$key]))
$target = $source[$key];
$target = $target;
}
用...打电话
$this->setVariable($source, 'key', $this->key);
或者...
private function setVariable($source, $key, &$target)
{
if(!isset($target) && isset($source[$key]))
return $source[$key];
return $target;
}
用...打电话
$this->key = setVariable($source, 'key', $this->key);
然而,两者似乎都在调用中涉及不必要的重复setVariable(...)
,特别是考虑到要设置的变量的名称始终是 的值$key
,所以如果$key = 'wombat'
我正在设置$this->wombat
.
有没有办法重写它,以便我调用setVariable(...)
做类似的事情?...
$this->key = setVariable($source);
$this->setVariable($source, 'key');
$this->setVariable($source, $this->key);
注意:我什至可以$source
省略因为$source = $this->alwaysSameArray
,但我认为保留它会使它更清晰,而且它肯定会使里面的代码setVariable(...)
更简洁。
解决方案
推荐阅读
- python - 写入二进制文件python时的附加数据
- angular - 将数据从 mat 对话框传回组件
- facebook - 使用多个不同的令牌从 Facebook Graph API 请求数据
- vue.js - @click 绑定到 v-for 循环中的每个项目,单击时执行多次
- azure-devops - AzureDevOps 本地测试计划
- java - 用虚线重新格式化文本文件并将它们放在python中的同一行中
- python - matplotlib.pyplot.figure.number => 总是 1?
- c - 为什么以下代码只输出人员数据库中最年长和最年轻的人之一,而不是两者?
- symfony - 将删除功能添加到 orocommerce symfony datagrid
- rust - 对未记录的部分是否有警告?