将SQL查询的结果输出到PHP数组

sf_*_*anb 3 php oop

我是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;
}
Run Code Online (Sandbox Code Playgroud)

我想访问数组中包含的数据

$foo = new whatever();
$foo->Maths();
 for ($i, $i <= endOfTheArray; i++) {

    echo Maths->tab[i][average];
    echo Maths->tab[i][randomData];
 }
Run Code Online (Sandbox Code Playgroud)

谢谢 ;)

编辑:我想输出SQL查询的结果作为数组,所以我可以从类外部访问它

web*_*ave 5

请查看PHP OOP基础知识:

http://www.php.net/manual/en/language.oop5.basic.php

编辑:感谢您清理代码.尝试以下方面的事情:

$tabs = array();
while($val = mysql_fetch_assoc($result)) { 
    $tabs[] = $val;
}
Run Code Online (Sandbox Code Playgroud)

和:

$foo = new whatever();
$tabs = $foo->Maths();
for ($tabs as $tab) {
    echo $tab['average'];
    echo $tab['randomData'];
}
Run Code Online (Sandbox Code Playgroud)

http://www.php.net/manual/en/language.oop5.basic.php


ABa*_*ach 5

为了帮助你,这里有一些修改.但请注意这一点:如果没有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;
}
Run Code Online (Sandbox Code Playgroud)
  1. 这可以修复语法错误和逻辑错误(例如,创建$results用于保存SQL查询的变量).
  2. 我将maths方法设为静态,因为实际上不需要whatever()使用当前示例来实例化对象.

以下是对如何使用它的一些修改:

$results = whatever::maths();
foreacho ($results as $result) {
  echo $result['average'];
  echo $result['randomData'];
}
Run Code Online (Sandbox Code Playgroud)
  1. 因为maths()返回一些东西,你需要将它存储在一个变量中; 简单地称它,就像你之前做的那样,什么都不做.
  2. 这个复杂的for循环可以用foreach循环代替.