类属性集删除字符串的一部分

时间:2014-01-17 12:07:37

标签: php string class properties

我有这个功能来填补我的班级变量。当有文件要处理时,调用handle_uploaded_files()返回逗号分隔的文件列表名称。

当我访问$this->image时,值是更正的("image(1).jpg,image(2).jpg,image(3).jpg,image(4).jpg"),但是当访问类外的属性时,我收到一个奇怪的结果:只有逗号,但之间没有值({{ 1}})。

",,,"

我不知道发生了什么。有什么建议吗?

抱歉我的英文。

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