我正在上课,我希望能够自动分配从ajax请求发布的变量。
function assign_vars() {
foreach($_POST as $index => $value) {
if($index == 'car_year') {
$this->car_year = $value;
}
}
}
这个功能非常方便,是他们这样做的一种更清洁的方式。
答案 0 :(得分:0)
考虑以下设置:
class ClassName
{
/* Init with default values. */
protected $_vars = array(
'car_year' => null
, ...
);
public function assign_vars( $array )
{
$this->_vars =
array_merge($this->_vars, array_intersect_key($array, $this->_vars));
}
}
$obj = new ClassName();
$obj->assign_vars($_POST);
在assign_vars()
中,array_merge()
会覆盖$_vars
中的值,但前提是它们已经存在(感谢array_intersect_key()
)。
答案 1 :(得分:-1)
尝试:
function assign_vars() {
foreach($_POST as $index => $value) {
$this->$index = $value;
}
}
然而,你走的路看起来似乎没有考虑过解决方案。