我想循环查询对象的内容更新某些值并返回该对象。
function clearAllIds($queryObject)
{
foreach($queryObject->result() as $row)
{
$row->id = 0;
}
return $queryObject
}
在这个例子中,我想将所有ID值清零。如何在foreach循环中完成此操作?
请原谅格式化。
答案 0 :(得分:4)
这完全取决于您的查询对象的类是什么,以及您是否能够Pass by reference。
假设您的$queryObject->result()
可以在写上下文中传递,您可以在$row
前面添加&符号以通过引用传递它,如下所示:
foreach($queryObject->result() as &$row)
{
$row->id = 0;
}
答案 1 :(得分:0)
function clearAllIds($queryObject)
{
foreach($queryObject->result() as &$row)
{
$row->id = 0;
}
return $queryObject
}
使用&运算符以$ row作为参考。
编辑:如果$ queryObject是一个数组,这将有效。你可能应该这样做
$data = $queryObject->result();
foreach($data as &$row) { ... }
return $data;
答案 2 :(得分:0)
function trim_spaces($object)
{
foreach (get_object_vars($object) as $property=> $value)
{
$object->$property=trim($value);
}
}
//无需返回对象,因为默认情况下它们是通过引用传递的