从数据库创建舒适的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)
。