==== Return from a method ====
array(1) {
[0]=>
object(attributes_itmlabelmodel)(11) {
["attributes"]=>
NULL
["errorcode"]=>
NULL
["classname"]=>
NULL
["errormessage"]=>
NULL
["log"]=>
NULL
["associates"]=>
array(0) {
}
["saveCallbacks"]=>
NULL
["id"]=>
string(2) "31"
["name"]=>
string(14) "trustthedj.com"
["active"]=>
string(1) "0"
["owner"]=>
string(1) "2"
}
}
==== I run list($var) on the above return and then I var_dump($var) =====
object(attributes_itmlabelmodel)(11) {
["attributes"]=>
NULL
["errorcode"]=>
NULL
["classname"]=>
NULL
["errormessage"]=>
NULL
["log"]=>
NULL
["associates"]=>
array(0) {
}
["saveCallbacks"]=>
NULL
["id"]=>
string(2) "31"
["name"]=>
string(14) "trustthedj.com"
["active"]=>
string(1) "0"
["owner"]=>
string(1) "2"
}
bool(false)
=========================================
I get a bool false! WTF!
=========================================
The method which returns the value for $var
function CreateObjectsFromResultSet(& $result, $useIdAsKey=false, $sql = false, $db = false)
{
$ret = false;
if (!is_object($result)){
trigger_error("comments: BAD SQL! - ".$sql." - ".$db->ErrorMsg(), E_USER_ERROR);
return false;
}
while ($row = $result->fetchRow()) {
$item = new Attributes_ItmLabelModel($row);
if (is_object($this) && $this->associates){
foreach ($this->associates as $associate){
$primaryKeyGetter = 'get' . $associate['primaryKeyName'];
$associateObjectArray = $associate['object']->RetrieveByColumnName($associate['foreignColumnName'], $item->$primaryKeyGetter());
if ($associateObjectArray){
foreach ( $associateObjectArray as $associateObject ){
$item->addAssociate($associateObject, $associate['foreignKeyName'], $associate['primaryKeyName']);
}
}
}
}
if ($useIdAsKey){
$id = $row['id'];
$ret[$id]= $item;
} else {
$ret[]= $item;
}
}
return $ret;
}
=======================================
if I set $ret at the stat of the method to be array(), the extra bool(false) I get from the list changes to an empty array. Huh?!
What is list() doing?