从数据库创建舒适的php多维数组

从数据库创建舒适的php多维数组,php,arrays,loops,Php,Arrays,Loops,我得到了这样一个代码: include 'dbconnect.php'; mysql_query("SET NAMES utf8;"); $sql = mysql_query("SELECT * From courseEnglish"); $courseInfo = array(); while ($row_course = mysql_fetch_assoc($sql)) $courseInfo[] = $row_course; 它从数据库中为我提供了一个php数组,但为了显示

我得到了这样一个代码:

include 'dbconnect.php';
mysql_query("SET NAMES utf8;"); 

$sql = mysql_query("SELECT * From courseEnglish");
$courseInfo = array();


while ($row_course = mysql_fetch_assoc($sql))
   $courseInfo[] = $row_course;
它从数据库中为我提供了一个php数组,但为了显示我需要使用的数据:

echo $courseInfo[2]['Course'];
我希望数组为,这样我就可以键入如下内容:

echo $courseInfo[2][2];

有没有一个选项可以更改代码,这样我就可以使用一个数组来循环索引了?

我想您正在寻找的是
mysql\u fetch\u row
,它与
mysql\u fetch\u assoc
的功能相同,只是它返回一个数字索引数组

已经说过,您可能想考虑弃用“<代码> MySqL**<代码>扩展,而不是<代码> MySqLI**<代码>(<代码> i>代码>改进),或者完全OO样式<代码> PDO/COD>扩展。选中mysql函数手册页面顶部的红色框,它包含指向首选对应函数的链接

但考虑到所有因素,看看您的查询(
SELECT*FROM…
),我根本不会使用数字索引数组来获得结果。如果您的表包含多个字段,那么在试图确定哪些数据来自哪个字段时,您迟早会遇到麻烦。认真地只需使用assoc数组,甚至更好:使用对象。
假设您更改了表布局(添加/删除某些字段?),那么在这种情况下维护代码将非常困难。尽管如此,还是要由你来决定,但我想我可能会提到这一点。

也许这一点

foreach ($courseInfo as $course_index = > $course_content)
   foreach ($course_content as $field)
     echo $field;
干杯

试试这个:

while ($row_course = mysql_fetch_array($sql))

mysql_fetch_行($sql);我怀疑你真的需要它“当然”要比数字索引舒服得多。可能您只需要一个不同的循环运算符,
foreach
放在一边:
$sql
不是结果资源的理想变量名-通常用于sql strings.Yep。使用
mysql\u fetch\u数组($result,mysql\u NUM)