我是 PHP 中的 OOP 新手,这似乎是正确的吗?
class whatever {
Function Maths() {
$this->sql->query($requete);
$i = 0;
while($val = mysql_fetch_array($this)) {
$tab[i][average] = $val['average'];
$tab[i][randomData] = $val['sum'];
$i=$i+1;
}
return $tab;
}
我想访问数组中包含的数据
$foo = new whatever();
$foo->Maths();
for ($i, $i <= endOfTheArray; i++) {
echo Maths->tab[i][average];
echo Maths->tab[i][randomData];
}
谢谢;)
编辑:我想将 SQL 查询的结果输出为一个数组,这样我就可以从类外访问它
最佳答案
为了帮助您,这里有一些修改。不过请听听:如果没有良好的 PHP 或 OOP 背景,其中很多内容可能没有意义。您应该查看@webbiedave 的链接。
class whatever {
static function maths() {
$tabs = array();
$results = $this->sql->query($requete);
while($val = mysql_fetch_array($this)) {
$tabs = $val;
}
return $tabs;
}
- 这修复了语法错误和逻辑错误(例如,创建
$results
变量来保存 SQL 查询运行)。 - 我将 maths 方法设为静态,因为实际上没有必要用当前示例实例化
whatever()
对象。
以下是对其使用方式的一些修改:
$results = whatever::maths();
foreacho ($results as $result) {
echo $result['average'];
echo $result['randomData'];
}
- 由于 maths() 会返回一些内容,因此您需要将其存储在一个变量中;像以前一样简单地调用它不会执行任何操作。
- 复杂的
for
循环可以替换为foreach
循环。
关于php - 将 SQL 查询的结果输出到 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791433/