我有这个功能来填补我的班级变量。当有文件要处理时,调用handle_uploaded_files()
返回逗号分隔的文件列表名称。
当我访问$this->image
时,值是更正的("image(1).jpg,image(2).jpg,image(3).jpg,image(4).jpg"
),但是当访问类外的属性时,我收到一个奇怪的结果:只有逗号,但之间没有值({{ 1}})。
",,,"
我不知道发生了什么。有什么建议吗?
抱歉我的英文。
答案 0 :(得分:0)
在内部foreach
- 循环中重命名变量。您从外部循环覆盖$key
和$value
。
在外部循环中调用array_keys($array)
没有意义,因为$ key成为新生成的数组中键的数字索引。相反,你可以写
foreach($array as $key => $value) {
$this->$key = $value;
/* ... */
}
仅当$key
是有效标识符时才有效。但这与你的代码没有什么不同。
内部循环可以重写为
$this->$key = handle_uploaded_files($value);
但你绝对应该首先重命名内部循环变量。
之后,您可以检查内循环中的$this->$key
是否应该覆盖外循环中的$this->$key
。