返回可以迭代的属性的PHP类?

返回可以迭代的属性的PHP类?,php,mysql,Php,Mysql,很抱歉,对于PHP,我充其量只是个新手,所以请温柔一点 我创建了一个类,它将从数据库中获取一些信息,并将各种值作为类的属性返回。这很好,因为我只要求一排 像这样: $mydata = new mydataclass; $mydata->getaparticularrowofdata($uniqueid); $value1 = $mydata->variable1; $value2 = $mydata->variable2; $value3 = $mydata->var

很抱歉,对于PHP,我充其量只是个新手,所以请温柔一点

我创建了一个类,它将从数据库中获取一些信息,并将各种值作为类的属性返回。这很好,因为我只要求一排

像这样:

$mydata = new mydataclass;

$mydata->getaparticularrowofdata($uniqueid);

$value1 = $mydata->variable1;
$value2 = $mydata->variable2;
$value3 = $mydata->variable3;
我想做一些类似的事情:

$mydata = new mydataclass;

$mydata->getafewrowsofdata($somefieldvaluetomatch);

if ($mydata->count != 0) {

// some sort of loop to iterate through each row until at the end, each time replacing       the property values with the new data

echo $mydata->variable1;
echo $mydata->variable2;
echo $mydata->variable3;

//

}
这显然只是一个例子。希望我说的有道理

这可行吗?如果是这样,最好使用一些示例代码:)

答案可能很简单,但由于某种原因,今晚我似乎无法集中注意力


非常感谢

这在某种程度上取决于您返回的结果集的格式,但以下是一些示例,说明如何使用您的示例迭代结果集

如果将结果集作为对象返回:

  $resultsObject = $mydata->getafewrowsofdata($somefieldvaluetomatch);

  foreach($resultsObject as $result)
  {
    echo $result->variable1;
    echo $result->variable2;
    echo $result->variable3;
  }
如果将结果集作为数组返回:

  $resultsArray = $mydata->getafewrowsofdata($somefieldvaluetomatch);

  foreach($resultsArray as $result)
  {
    echo $result['variable1'];
    echo $result['variable2'];
    echo $result['variable3'];
  }

与其在检索数据并随后遍历数据时修改
mydataclass
的属性(这有很多副作用,并且您不能使用类同时选择多组数据),我建议让
getafewrowsofdata
方法返回一个数据数组(每行一个元素)或返回实现接口的结果对象


如果您正在使用PDO,一个简单的方法是让
getafewrowsofdata
函数使用PDO方法。这甚至可以返回自定义类的对象(参见示例4).

我不清楚您到底想要什么。还有,为什么要回显您的数据?回显将文本发送到浏览器。这就是它的全部功能。您说要替换这些值。您的意思是在数据库中?在运行时脚本中?还是在浏览器中?我不清楚。php手册在迭代器界面上有一些很好的示例—通读输入代码,然后查看是否还有其他问题。