我有这个简单的问题。在这个简单的脚本中:
<?php
class MyClass {
public var1 = '1';
public var2 = '';
public var3 = '3';
}
$class = new MyClass;
foreach ($class as $key => $value) {
echo $key . ' => ' . $value . '<br />';
}
?>
结果将是:
var1 =&gt; 1
var2 =&gt;
var3 =&gt; 3
如果我想遍历所有这些属性,以便找出哪一个是空的,我如何为对象中的空属性赋值?
foreach ($class as $key => $value) {
if (empty($value)) {
$value = 'something';
}
}
...无效,因为我猜PHP认为$value
是实际变量,而不是参考。
答案 0 :(得分:17)
试试这个:
foreach ($class as $key => $value) {
if (empty($value)) {
$value = 'something';
$class->$key = $value;
}
}