在 xampp 开发环境中使用 PHP 5.4.7。
我的数据层文件中有一个函数,它从 MySql 表中获取数据,然后创建一个二维数组,以便我以后可以访问内容。当我使用 print_r 打印出此数据层文件本身中的元素时,它们以正确的索引顺序打印,即 0、1、2、3、4、5。但是当我在其他地方调用此函数并打印元素时,它们按 5、0、1、2、3、4 的顺序出现。
切换肯定发生在函数创建时间和使用时间之间。我已经搜索了所有内容,但没有在论坛上找到类似的内容。
这是功能:
function getAllActivitiesAtEvent($eventId)
{
$query = ("SELECT * FROM activity WHERE '$eventId' = activity.event_id");
$result = @mysql_query ( $query ) or die ( mysql_error () );
$num = mysql_num_rows ( $result );
if ($num != 0)
{
$allActs[$num-1] = array();
$i = 0;
while ( $row = mysql_fetch_array ( $result ) )
{
$oneAct = [
"index" => $i,
"actId" => $row ['activity_id'],
"actName" => $row ['activity_name'],
"actSC" => $row ['activity_short_code'],
"actPL" => $row ['project_leader'],
"actCap" => $row ['capacity'],
"actDOW" => $row ['day_of_week'],
"actDate" => $row ['date']
];
$allActs[$i] = $oneAct;
$i++;
}$i = 1;
}
return $allActs;
}
...当我在此页面上 print_r 时,顺序是正确的。
当我在另一个页面上调用此函数时,如下所示:
dbconnect();
$activityArr = getAllActivitiesAtEvent($eventId);
然后打印出元素,顺序不对!