Php 创建的数组没有像我想的那样工作

Php 创建的数组没有像我想的那样工作,php,arrays,mysqli,Php,Arrays,Mysqli,我对数组感到困惑,希望有人能帮我一些忙 我试图将用户选择的各种图片存储在mysql数据库中,每次最多可选择3张图片。这些选择实际上是每张图片下方的复选框,我想将这些选择存储为数组中的$pic_id 这些选择存储在我的数据库中,但它们似乎没有像我预期的那样被分配密钥,我似乎无法使用它们 我希望能够使用图片id来显示所做的选择 这是我的结果: [7] =>11,6[8]=>9,8 但我需要单独研究这些变量。 我希望: [7] =>11、[8]=>6、[8]=>9、[9]=>8 表格: <fo

我对数组感到困惑,希望有人能帮我一些忙

我试图将用户选择的各种图片存储在mysql数据库中,每次最多可选择3张图片。这些选择实际上是每张图片下方的复选框,我想将这些选择存储为数组中的$pic_id

这些选择存储在我的数据库中,但它们似乎没有像我预期的那样被分配密钥,我似乎无法使用它们

我希望能够使用图片id来显示所做的选择

这是我的结果: [7] =>11,6[8]=>9,8

但我需要单独研究这些变量。 我希望: [7] =>11、[8]=>6、[8]=>9、[9]=>8

表格:

 <form action="insert.php" method="GET">
    <?php
    <input type=\"checkbox\" name=\"pic_id[]\" value=".$row['id'].">
    <input type="submit" name="submit" value="Add" />
    ?>
打印阵列

<?php
    $sql="SELECT * FROM pics";
    $query = mysqli_query($conn, $sql);
    $myArray = Array();
    while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
    $myArray[]=$row['pic_id'];  
    }
 print_r($myArray);
?>

请参见上面的结果。

只需将值分开,就像在数据库中插入时将它们连接在一起一样。然后循环搜索结果并将其添加到数组中

<?php
    $sql="SELECT * FROM pics";
    $query = mysqli_query($conn, $sql);
    $myArray = array();
    while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
        foreach(explode(',', $row['pic_id']) as $id) {
            $myArray[]= $id;  
        }
    }
 print_r($myArray);
?>

未选中的复选框将不会被发送,因此pic_id[]应该是pic['.$row['id'.].]…嗯,我得到了一个syntac错误,其中explode',',$row['pic_id']作为$id我得到的错误是'PHP解析错误:语法错误,意外的T_,如第11行所示。第11行是将“,”,$row['pic_id']扩展为$id{`Ahh.已修复。请立即尝试。谢谢,但现在我在第6行的代码中得到了T_双_箭头。我写此代码时一定喝醉了。:/尝试我的新代码。
<?php
    $sql="SELECT * FROM pics";
    $query = mysqli_query($conn, $sql);
    $myArray = array();
    while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
        foreach(explode(',', $row['pic_id']) as $id) {
            $myArray[]= $id;  
        }
    }
 print_r($myArray);
?>