PHP:从函数中访问二维数组


PHP: Accessing two dimensional array from a function

你好,我不知道如何访问一个函数返回的二维数组。

我的函数query($query)在一个Connection类中(在Connection.php中):

public function query($query)
  {
      $result = mysql_query($query);
       $array= array();
      for($i=0; $i<mysql_num_rows($result); $i++)
      {
       $row = mysql_fetch_array($result);
       for($j=0;$j<(sizeof($row)/2);$j++)
       {
         $array[i][j]=$row[$j];
       }
      }
      return $array;
    }

和我的test.php文件:

<?php
include 'Connection.php';
$obj1 = new Connection();
echo $obj1->toString();
$array=$obj1->query("SELECT * FROM LeCars ORDER BY ID;");
echo $array[0][0];
echo 'asd:',$array[0][0],'<br>';
echo 'asd:',$array[0][1],'<br>';
echo 'asd:',$array[0][2],'<br>';
echo 'asd:',$array[1][0],'<br>';
echo 'asd:',$array[2][4],'<br>';
var_export($array);

?>

test.php的输出:

ip: 194.00.00.27登录:asd123密码:asd123表:asdasd1123查询:自闭症谱系障碍:自闭症谱系障碍:自闭症谱系障碍:自闭症谱系障碍:自闭症谱系障碍:array ('i' => array ('j' => NULL,),)

有人知道如何正确地将数组发送到test.php吗?

我所尝试的:循环它,通过引用发送,双重检查数组是否有效(它确实),但我不能发送它来测试并访问它

mysql_query()不返回二维数组。它返回'resource',这意味着它不是一个php类型对象。您可以对它进行特殊的操作。

请参阅此处的文档和示例:http://php.net/manual/en/function.mysql-query.php

首先,toString()应该只返回该字符串值,而不打印它。

然后,从函数返回的二维数组就像普通的二维数组一样-你没有尝试过吗:

$array=$obj1->query("SELECT * FROM LeCars ORDER BY ID;");
echo $array[0][0];

?

还请考虑阅读PHP手册中的"foreach"answers"count"