【发布时间】:2013-12-24 18:46:35
【问题描述】:
我有一个这样的 php 类
class data{
var $counter;
var $a;
var $b;
var $c;
var $d;
var $e;
var $f;
var $g;
var $h;
var $etc;
function data(){$this->counter=0;}
function addvalue($value){
$this->a[$this->counter]=$value;
$this->b[$this->counter]=0;
$this->c[$this->counter]=0;
$this->d[$this->counter]=0;
$this->e[$this->counter]=0;
$this->f[$this->counter]=0;
$this->g[$this->counter]=0;
$this->h[$this->counter]=0;
$this->etc[$this->counter]=0;
$this->counter++;
}
}
那么,那个类的一个对象
if(isset($_SESSION['data'])==0){
$_SESSION['data']=new data();
}
代码有效,但我很好奇是否可以在 foreach 循环中设置所有具有相同值的属性:“0”。我尝试了这种方法但没有成功:
function addvalue($value){
foreach($this as $key => $value){
if($key!='counter'){$this->$key[$this->counter]=0;}
}
$this->a[$this->counter]=$value;
$this->counter++;
}
谢谢。
【问题讨论】:
-
可能是因为
addvalue中有两个$value。一个在函数参数中,一个在foreach -
另外,你到底有什么问题?
-
嗨。这两个 $value 可能有问题,也可能没有。很难说,因为那只是一个例子。在我的代码中有所不同,它也可以完美运行。我只是想优化它,摆脱一些代码行,而是使用循环迭代。谢谢。
标签: php class loops properties