2010-09-08 149 views
0

我想遍歷查詢對象的內容更新某些值並返回對象。在foreach循環內更新對象值

function clearAllIds($queryObject) 
{ 
    foreach($queryObject->result() as $row) 
{ 
    $row->id = 0; 
} 
return $queryObject 
} 

在這個例子中,我想將所有的ID值清零。我如何在foreach循環中完成此操作?

請原諒格式。

回答

2

這完全取決於什麼類的查詢對象的是,和你是否就可以Pass by reference

假設你$queryObject->result()可以在寫上下文傳遞,你可以用一個符號前言$row通過引用傳遞它,就像這樣:

foreach($queryObject->result() as &$row) 
{ 
    $row->id = 0; 
} 
0
function clearAllIds($queryObject) 
{ 
    foreach($queryObject->result() as &$row) 
    { 
    $row->id = 0; 
    } 
    return $queryObject 
} 

使用&運營商獲得$行作爲參考。

編輯:這將工作,如果$ queryObject是一個數組。你或許應該做

$data = $queryObject->result(); 
foreach($data as &$row) { ... } 
return $data; 
0
function trim_spaces($object) 
     {  
      foreach (get_object_vars($object) as $property=> $value) 
       { 
        $object->$property=trim($value); 
       } 
     } 

//無需返回對象因爲它們默認通過引用

+0

向你的ans添加一個描述,並解釋它。 – 2015-03-18 04:32:47