Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过mysql表使用数组和循环创建多维数组_Php_Mysql_Arrays_Multidimensional Array - Fatal编程技术网

Php 通过mysql表使用数组和循环创建多维数组

Php 通过mysql表使用数组和循环创建多维数组,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我有一张结构如下的桌子。目前有9名学生在3个班(01班、16班和52班)就读,每个班有3名学生 studentcode | classcode ------------------------- D3kcIvyp | 01 DdIhBc | 01 2vx0KV | 01 9p1PxWCV | 52 RnmfH1WE | 52 MSTBEv | 52 Yp4J3o | 16 fWQ5Oo | 16

我有一张结构如下的桌子。目前有9名学生在3个班(01班、16班和52班)就读,每个班有3名学生

studentcode | classcode  
-------------------------
D3kcIvyp    | 01  
DdIhBc      | 01  
2vx0KV      | 01  
9p1PxWCV    | 52  
RnmfH1WE    | 52  
MSTBEv      | 52  
Yp4J3o      | 16  
fWQ5Oo      | 16  
6sxw3u      | 16  
这是包含所有当前类的数组:

$classes_array = array ( [0] => 01 [1] => 52 [2] => 16 )
使用这个数组,我想遍历mysql表,创建一个多维数组,其中类代码用作一级键:

Array
(
    [01] => Array
        (
            [0] => D3kcIvyp
            [1] => DdIhBc
            [2] => 2vx0KV
        )

    [52] => Array
        (
            [0] => 9p1PxWCV
            [1] => RnmfH1WE
            [2] => MSTBEv
        )

    [16] => Array
        (
            [0] => Yp4J3o
            [1] => fWQ5Oo
            [2] => 6sxw3u
        )
)


foreach ($classes_array as $key => $value)
{

    $sql = "SELECT studentcode FROM table WHERE classcode = '$classes_array[$key]'";
    $result = mysql_query($sql) or die();
    while($data = mysql_fetch_array($result))
    {
        $studentcodes_array[] = $data['studentcode'];
    }

    foreach ($studentcodes_array as $studentcodeskey => $studentcodesvalue)
    {
        $multid_array[$value][] = $studentcodesvalue;
    }
}
使用上面的代码,很遗憾我没有得到我想要的数组。我得到的是:

Array
(
    [01] => Array
        (
            [0] => D3kcIvyp
            [1] => DdIhBc
            [2] => 2vx0KV
        )

    [52] => Array
        (
            [0] => D3kcIvyp
            [1] => DdIhBc
            [2] => 2vx0KV
            [3] => 9p1PxWCV
            [4] => RnmfH1WE
            [5] => MSTBEv
        )

    [16] => Array
        (
            [0] => D3kcIvyp
            [1] => DdIhBc
            [2] => 2vx0KV
            [3] => 9p1PxWCV
            [4] => RnmfH1WE
            [5] => MSTBEv
            [6] => Yp4J3o
            [7] => fWQ5Oo
            [8] => 6sxw3u
        )

)

我的代码有什么问题?有人能帮我吗?

您从不初始化
$studentcodes\u数组
,因此它会记住以前循环中的所有值


尝试添加
$studentcodes_array=array()while

之前输入code>这肯定是一个重复的问题。请看屏幕右侧的RelatedHi Drew,很抱歉,我已经检查了一些问题。。但是找不到我的问题的任何答案。很公平,那么thx:)嗨,詹姆斯!这解决了我的问题。我可能已经试了很久了。。谢谢!